2008-03-21から1日間の記事一覧

Sys.argv

コマンドライン引数は Sys.argv に配列として格納される。インデックス0がプログラム名で,以下引数の数だけ続く。 インデックス0を出力する例: let () = print_endline Sys.argv.(0) ^o^ >ocamlc -o argv.exe argv.ml ^o^ >argv argvインデックス1を出力す…

Array.iter

Array.iter は配列に対して 'a -> unit 型の関数を順に適用する関数。List.iter の配列版。これを使えばコマンドライン引数の数だけ繰り返せる。 let () = Array.iter (fun s -> print_endline s) Sys.argv ^o^ >argv2 foo bar buz argv2 foo bar buz

unfold

なるほど,unfold ってこういうふうに使えるのか。cf. ZOETROPEの日記 - Foundations of F#を読む(3)Haskellでやってみる。 *Main> take 10 $ Data.List.unfoldr (\(n0,n1) -> Just (n0, (n1, n0+n1))) (1, 1) [1,1,2,3,5,8,13,21,34,55] unfoldr に与える関…