使用OCaml中的Arg.parse验证参数

时间:2016-03-28 11:11:53

标签: ocaml

现在我可以检查是否传递了两个参数(都是迷宫高度和宽度的整数),我希望在它们之前添加标记-r(对于行)和{ {1}}(对于列)。

这是我到目前为止所拥有的:

-c

即使在阅读有关let usage = "[Usage]:\t./step -r height -c width" let row = ref "-r" let column = ref "-c" let height = ref (-1) let width = ref (-1) let main () = begin Arg.parse [] (fun i -> if !height < 0 then height := (int_of_string i) else width := (int_of_string i)) usage; end let _ = main () 的文档后,我也无法弄清楚如何添加验证以将完整格式(Arg.parse)作为参数传递给我的可执行文件。

在学习OCaml时,我们将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

命令行界面的语法由parse函数的第一个参数指定。第二个参数是在命令行上发生的每个匿名参数调用的函数,即在它之前没有键的参数。这是一个例子:

Arg.parse Arg.[
  "-r", Set_int height, "<height> set height";
  "-c", Set_int width,  "<width>  set width";
] ignore usage