现在我可以检查是否传递了两个参数(都是迷宫高度和宽度的整数),我希望在它们之前添加标记-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时,我们将非常感谢您的帮助。
答案 0 :(得分:1)
命令行界面的语法由parse
函数的第一个参数指定。第二个参数是在命令行上发生的每个匿名参数调用的函数,即在它之前没有键的参数。这是一个例子:
Arg.parse Arg.[
"-r", Set_int height, "<height> set height";
"-c", Set_int width, "<width> set width";
] ignore usage