(我正在学习 OCaml,这可能是一个幼稚的问题。)
我使用下面的代码来定义一个命名函数a
:
utop # let a = fun x -> x+1;;
val a : int -> int = <fun>
请注意,前导val a
清楚地显示为函数的名称。
然后我尝试查看该函数的类型信息a
:
utop # a;;
- : int -> int = <fun>
前面有一个-
,表示匿名。
但我给它起了个名字a
。
为何不显示?
(我正在学习 OCaml,这可能是一个幼稚的问题。)
我使用下面的代码来定义一个命名函数a
:
utop # let a = fun x -> x+1;;
val a : int -> int = <fun>
请注意,前导val a
清楚地显示为函数的名称。
然后我尝试查看该函数的类型信息a
:
utop # a;;
- : int -> int = <fun>
前面有一个-
,表示匿名。
但我给它起了个名字a
。
为何不显示?
REPL 读取以下行
作为匿名顶层表达式,返回类型为的值
int->int
。这与你看到的行为相同表达式的返回类型稍微不寻常。
如果您想要获得有关值的信息,可以使用
#show
toplevel 指令: