List.append は2つのリストを連結する。
# List.append [1;2;3] [4;5;6];; - : int list = [1; 2; 3; 4; 5; 6]
実装してみる。
# let rec append' l1 l2 = match l1 with [] -> l2 | hd::tl -> hd :: append' tl l2 ;; val append' : 'a list -> 'a list -> 'a list = <fun> # append' [1;2;3] [4;5;6];; - : int list = [1; 2; 3; 4; 5; 6]
リストの連結は中置演算子 @ でもできる。
# ['a';'b';'c'] @ ['d';'e';'f'];; - : char list = ['a'; 'b'; 'c'; 'd'; 'e'; 'f']