drkcore

2009/07/10 21:03:36

ocamlとocamlcとload

例えば、こんな感じでloadして、

#load "unix.cma";;

let file = "/Users/kzfm/OCaml/kaeru.ml"

let () =
  let proc = Unix.open_process_in ("wc -l < " ^ file) in
  let count = input_line proc in
  ignore (Unix.close_process_in proc);
  print_string count;;

実行すると

$ ocaml wc.ml
      28

一方、コンパイルしようとすると

$ ocamlc unix.cma wc.ml
File "wc.ml", line 1, characters 0-1:
Error: Syntax error

エラーがでるが、#loadという行を除くときちんとコンパイルできる。

コンパイルしたい場合は毎度#loadっていう行を削除しないといけないのかな。

Comments