作者:张伊韵育财育信 | 来源:互联网 | 2022-12-11 17:47
add
是一个内置于OCaml的函数.
经验:
# add 5 1;;
- : int = 6
我的问题:评估的顺序是add 3 (add 5 3)
什么?
# add 3 (add 5 3);;
- : int = 11
是(add 5 3)
第一至8评价,然后add 3 (8)
进行评估,以11?或者add 3
先评估一个函数,然后(add 5 3)
用作函数的参数(add 3)
?
谢谢.
1> Jeffrey Scof..:
对于它的价值,没有任何名为add
内置于OCaml的功能.(即,Pervasives模块中没有这样的符号.)
$ ocaml
OCaml version 4.06.0
# add;;
Error: Unbound value add
OCaml中函数及其参数的评估顺序未指定.所以没有保证订单.
这在OCaml手册的第7.7.1节中有记录.
如果您希望按特定顺序let
进行评估,则可以使用它来评估每个子表达式:
# let add a b = a + b;;
val add : int -> int -> int =
# let temp = add 5 3 in
add 3 temp;;
- : int = 11
# let tempf = add 3 in
tempf (add 5 3);;
- : int = 11