Click here to Skip to main content
Licence CPOL
First Posted 5 Dec 2011
Views 8,434
Bookmarked 0 times

F# List

By | 5 Dec 2011 | Technical Blog
F# List
A Technical Blog article. View original blog here.[^]

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.

License

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

About the Author

GanesanSenthilvel

Architect

India India

Member

Currently working as IT Architect for Financial Services applications. Out of 16+ years, spent six career years at major IT firms in USA. Basically from C, C++, VC++, C# family. Loves driving, spending time with friends&family, building my farm house.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 5 Dec 2011
Article Copyright 2011 by GanesanSenthilvel
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid