Sof*_*mur 2 syntax ocaml coding-style function
我看到一些实现如下:
let rec fact =
fun n ->
if n <= 0 then 1 else n * fact (n - 1)
Run Code Online (Sandbox Code Playgroud)
另一个实现是:
let rec fact n =
if n <= 0 then 1 else n * fact (n - 1)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这两种风格之间是否有任何区别?
这些定义是等价的.符号
let rec f a b c = <expr>
Run Code Online (Sandbox Code Playgroud)
是一种方便的写作方式(语法糖):
let rec f = fun a b c -> <expr>
Run Code Online (Sandbox Code Playgroud)
您可以在OCaml手册的第6.7.1节 " 本地定义 "标题下找到此内容.