为什么不能在OCaml中调用while循环中的函数?

时间:2018-01-22 17:02:16

标签: ocaml

我正在尝试使用while循环来调用函数n次。我做了一个简单的示例,返回此错误“警告10:此表达式应具有类型单位”。

let max a b =
if a > b then a else b
;;

let i = ref 0;;

while !i <= 5 do

(* function that is called i times *)
max 2 !i ;

i := !i + 1;

print_int !i

done;;

如何使用while或for循环n次调用函数?

1 个答案:

答案 0 :(得分:7)

这只是一个警告,它与循环无关。它只是指出你正在调用一个函数但忽略它的结果。通常,这种情况是一种意想不到的错误。就你的例子而言,对max的调用确实没用。

如果你想拥有它并沉默警告,你可以明确地忽略结果

ignore (max 2 !i)