Язык FSharp. Списки, кортежи, записи — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Списки)
(Списки)
 
(не показана 1 промежуточная версия этого же участника)
Строка 7: Строка 7:
 
let l'' = "aaa"::"bbb"::["ccc"]
 
let l'' = "aaa"::"bbb"::["ccc"]
 
let l''' = "aaa"::"bbb"::"ccc"::[]
 
let l''' = "aaa"::"bbb"::"ccc"::[]
 +
</source>
 +
 +
==== Списки списков====
 +
<source lang="fsharp_">
 +
let listOfList = [[2; 3; 5]; [7; 11; 13]; [17; 19; 23; 29]]
 +
</source>
 +
 +
==== Использование рекурсии в алгоритмах обработки списков====
 +
<source lang="fsharp_">
 +
let rec sum l =
 +
    match l with
 +
    | [] -> 0
 +
    | head::tail -> head + (sum tail)
 
</source>
 
</source>
  

Текущая версия на 22:47, 7 апреля 2011

Списки

Список - встроенный в язык тип. Списки хранят последовательность элементов одного типа.

let l = [1;2;3]
let l' = "aaa"::["bbb";"ccc"]
let l'' = "aaa"::"bbb"::["ccc"]
let l''' = "aaa"::"bbb"::"ccc"::[]

Списки списков

let listOfList = [[2; 3; 5]; [7; 11; 13]; [17; 19; 23; 29]]

Использование рекурсии в алгоритмах обработки списков

let rec sum l = 
    match l with
    | [] -> 0
    | head::tail -> head + (sum tail)

Кортежи

Записи