LINUX.ORG.RU
ФорумTalks

Посоветуйте форум по OCaml для начинающих


0

0

Читаю http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf. Вроде понятно, но некоторые вопросы остаются, например

let rec sum = function
   [] -> 0
   | i :: l -> i + sum l;;

Что в данном случае означает i :: l ? Если 

# let li = [ 1; 2; 3];;
val li : int list = [1; 2; 3]
# 2 :: li;;
- : int list = [2; 1; 2; 3]

означает - создать новый список с 2 в начале и объединить его с li; 

sum l - тоже не понятно. Рекурсия, но кажется, что l тот-же список, так-как не видно никаких над ним действий..

Может, кроме/вместо форума, еще и литература каку нибудь, где все более детально, но всетаки как учебник. 

Спасибо заранее.

ЗЫ

Off: "Сбой добавления" - задрал.
anonymous

какуЮ нибудь *

anonymous
()

>| i :: l -> i + sum l;;

это pattern matching: первый i элемент скалдываем с результатом sum l, где l - всё что не i, т.е. тоже список.

... и по форумам языки не учат

.... и в толкс это - оффтопик

Pi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.