【发布时间】:2014-07-31 13:26:03
【问题描述】:
我有:
module type A = sig end
此代码有效:
let f x =
let module X = (val x : A) in
object end
还有这个:
let f (module X : A) =
object end
但这是无效的:
class c x =
let module X = (val x : A) in
(* ^^^ Error: Syntax error *)
object end
还有这个:
class c (module X : A) =
(* ^^^^^^^^^^^^^ Error: Modules are not allowed in this pattern. *)
object end
我不明白:为什么? 如何在类上下文中将一流模块解压缩为对象模块? 我的编译器版本 = 4.01.0
谢谢
【问题讨论】: