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
];;
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.