ocaml:什么是括号中有关键字 val 的表达式?
ocaml: what is an expression that has the keyword val in parenthesis?
我运行进入这段代码,我不明白语法:
module Proof = (val p)
我知道 val
可以用在模块类型或签名中,但我还没有看到它被这样使用。
此语法用于 解包 第一个 class 模块。
module type IntWrapper = sig
val wrappedInt : int
end
module MyIntWrapper : IntWrapper = struct
let wrappedInt = 2
end
(* pack a module into a value *)
let packedModule = (module MyIntWrapper : IntWrapper)
(* unpack module *)
module UnpackedModule = (val packedModule : IntWrapper)
(* or *)
module UnpackedModule' : IntWrapper = (val packedModule)
我运行进入这段代码,我不明白语法:
module Proof = (val p)
我知道 val
可以用在模块类型或签名中,但我还没有看到它被这样使用。
此语法用于 解包 第一个 class 模块。
module type IntWrapper = sig
val wrappedInt : int
end
module MyIntWrapper : IntWrapper = struct
let wrappedInt = 2
end
(* pack a module into a value *)
let packedModule = (module MyIntWrapper : IntWrapper)
(* unpack module *)
module UnpackedModule = (val packedModule : IntWrapper)
(* or *)
module UnpackedModule' : IntWrapper = (val packedModule)