val在奥卡姆语言中是什么意思

ako*_*ako 6 ocaml

当在 Ocamel 中查看模块文档时,例如在图形模块中会出现类似的内容

val close_graph : unit -> unit
Run Code Online (Sandbox Code Playgroud)

或者以交互模式编写函数时:

# let x () = 3;; 
val x : unit -> int = <fun>
Run Code Online (Sandbox Code Playgroud)

val x : unit -> int = <fun>,它是什么val以及它的用例是什么?

Jef*_*eld 5

嗯,val是 OCaml 中的一个关键字,有多种不同的用途。

您提到的情况本质上都是val在模块签名中使用来指定模块中出现的值。值就像函数和表达式一样。(类型是不能出现在模块中的值的一个示例。)

您可以在OCaml 手册中阅读有关模块签名的内容。

非终结符规范的第一个变体是以 开头的val

(在顶层,您在输入定义时创建一个模块。因此顶层使用签名样式语法来显示您定义的内容。无论如何,在我看来。)