Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / F#

F# List

5.00/5 (2 votes)
5 Dec 2011CPOL 14.1K  
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:

F#
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:

F#
>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:

F#
>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.

F#
let numbersNear x =
[
yield x-1
yield x 
yield x+1 
];;

List.map

List.map 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.

List.Iter

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

License

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