OCaml минусы цель

Я читаю руководство по языку для OCaml и наткнулся на оператор "cons", обозначенный как

::

Однако, это вообще не объясняется, что это такое, и для чего оно обычно используется.

2 ответа

Решение

Это основной оператор структурирования списка. Список [1; 2; 3] построен с тремя приложениями :: оператор:

$ ocaml
        OCaml version 4.01.0

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

(Эту операцию называли минусами с первых дней Лисп 50 лет назад.)

:: Оператор также может появляться в шаблонах, чтобы деструктурировать список:

let rec length l =
    match l with
    | [] -> 0
    | h :: t -> 1 + length t

Также загляните в ресурс по адресу http://ocaml.org/learn/ - в частности, в книге "Real World OCaml" есть раздел о списках.

Другие вопросы по тегам