1から10までのリスト
って OCaml ではどう書けばいいんだろう。
Haskell では簡単に [1…10] と書ける。
Prelude> [1..10]
[1,2,3,4,5,6,7,8,9,10]
これなら10といわずいくつまででも簡単だ。だけど OCaml こういう書き方はできないらしい。
# [1..10];;
Characters 4-6:
[1..10];;
^^
Syntax error
# [1;;10];;
Characters 2-4:
[1;;10];;
^^
Syntax error
ともかく関数を書いてみた。
# let rec list_of_int f t =
if f > t then [] else f :: list_of_int (f+1) t
;;
# list_of_int 1 10;;
- : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
