第 12 章 语言扩展

9 open 语句中的覆盖

(在 OCaml 4.01 中引入)

定义::= ...
   open!模块路径
 
规范::= ...
   open!模块路径
 
表达式::= ...
 letopen!模块路径in表达式
 
类体类型::= ...
   letopen!模块路径in类体类型
 
类表达式::= ...
   letopen!模块路径in类表达式
 

从 OCaml 4.01 开始,open 语句会覆盖已存在的标识符(在后面使用时),并触发警告 44。在 open 关键字后面添加 ! 字符表示这种覆盖是故意的,不应触发警告。

从 OCaml 4.06 开始,这也可以用于类表达式和类类型表达式中的局部 open。