如何在顶层处理命令行参数?

How are command line argument are treated in toplevel?

我有一个接受命令行参数的程序。与源文件相同的是encode.ml。我想在顶层加载这个文件。

有没有办法在我们可以传递命令行参数的顶层加载源文件?

谢谢。

是的,用 ocaml encode.ml arg1 arg2 etc 调用你的顶层。下面的程序演示了它:

$ cat args.ml
let () =
  Array.iteri (Printf.printf "%d -> %s\n") Sys.argv

$ ocaml args.ml -h --help -help
0 -> args.ml
1 -> -h
2 -> --help
3 -> -help