Seznam (Ocaml)

Iz MaFiRaWiki

V Ocamlu zapišemo elemente seznama med oglate oklepaje in jih ločimo s podpičji:

# [1; 6; 21; 107] ;;
- : int list = [1; 6; 21; 107]

Vsi elementi seznama morajo imeti isti tip:

# [1; "foo"; 3.5] ;;
Characters 4-9:
  [1; "foo"; 3.5] ;;
      ^^^^^
This expression has type string but is here used with type int

Če pomotoma napišemo vejice namesto podpičij, dobimo seznam z enim elementom, ki je urejena terica:

# [1, 6, 21, 107] ;;
- : (int * int * int * int) list = [(1, 6, 21, 107)]

Osnovne operacije

Operator :: stakne element in seznam:

# 1 :: [6; 21; 107];;
- : int list = [1; 6; 21; 107]

Z match lahko seznam razstavimo na glavo in rep:

# match [1; 6; 21; 107] with
  | []     -> 0
  | x::lst -> x ;;
- : int = 1,

Ostale operacije za delo s seznami so v modulu Modul List (Ocaml).

Osebna orodja