Click here to Skip to main content
15,890,512 members
Articles / Programming Languages / F#

F# List

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
5 Dec 2011CPOL 13.9K  
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.

This article was originally posted at http://ganesansenthilvel.blogspot.com/2011/12/f-list.html

License

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


Written By
Architect
India India
Ganesan Senthilvel is a passionate IT leader with demonstrated 2 decades’ experience in architecture, design and implementing cutting edge solutions to address business opportunities of Enterprise applications. He earned Masters in Computer Science and Master in Business Administration. Now, he is pursing Doctorate program in Big Data. He is consistent technical contributor via COE, Blog, Whitepaper, Summit, Certification, etc. and also highly skilled at providing coaching and mentoring to internal teams and external institutes. Earned Microsoft Certifications like MCP, MCAD and financial domain certification.
He maintains his weekly blog at http://ganesansenthilvel.blogspot.in

Comments and Discussions

 
-- There are no messages in this forum --