【发布时间】:2013-11-07 07:35:56
【问题描述】:
我是 OCaml 的新手。我想定义一种仅在一个函数中使用的类型。我不想让它在该功能之外可用。我们可以在该函数中定义它吗?还是有其他方法可以达到同样的效果?
【问题讨论】:
标签: ocaml
我是 OCaml 的新手。我想定义一种仅在一个函数中使用的类型。我不想让它在该功能之外可用。我们可以在该函数中定义它吗?还是有其他方法可以达到同样的效果?
【问题讨论】:
标签: ocaml
如果你有最新版本的 OCaml,你可以使用本地模块:
let f x =
let module Local = struct
type t = A | B
end in
...
在顶层定义类型并将其排除在.mli 之外可能更自然:尽管它对文件中的其他代码可见,但它会保持全局隐藏。
【讨论】: