Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

F# List

, 5 Dec 2011 CPOL
Rate this:
Please Sign up or sign in to vote.
F# List

Last week Tuples group values into a single entity. List allows you link data together to form a chain. F# defines a list as ; delimited values enclosed in brackets as:

let countDown = [9;8;7;6;5;4;3;2;1];;

F# has only two operations. They are (i) cons :: operator, to add an element in front of list (ii) append @ operator, to add at the end. Examples are:

>let countDown = 10::countDown;;
val countDown : int list = [10;9;8;7;6;5;4;3;2;1]
>let countDown = 0@countDown;; 
val countDown : int list = [10;9;8;7;6;5;4;3;2;1;0]

List Range

To declare a list of ordered numeric values, List range specifies the lower and upper range as:

>let counter = [1..10];;
val counter : int list = [1;2;3;4;5;6;7;8;9;10]

List comprehension

It's a rich syntax that allows you to generate list inline with F# code. The body of the list comprehension will execute until it terminates, and the list will be made up of elements returned via yield keyword.

let numbersNear x =
yield x-1
yield x 
yield x+1 
];; function creates a new collection by applying a function to the given collection. Just have a look at the attached image example.

When you print r1 the example, you should get the output as 2,3,4,5.


It iterates through each element of the list and calls a function that you pass as a parameter.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

India India
Currently working as Enterprise Solution Architect. Out of 20+ years, worked few career years at USA, Europe and APAC. Basically from C, C++, VC++, C# family, extending to the emerging Big Data and Cloud technology. Weekly Tech inking at Loves driving, spending time with friends & family, weekly blogging, grooming next Gen.
Follow on   Twitter   LinkedIn

Comments and Discussions

-- There are no messages in this forum --
| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150414.1 | Last Updated 5 Dec 2011
Article Copyright 2011 by GanesanSenthilvel
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid