【问题标题】:Can we define types inside a function in OCaml?我们可以在 OCaml 的函数中定义类型吗?
【发布时间】:2013-11-07 07:35:56
【问题描述】:

我是 OCaml 的新手。我想定义一种仅在一个函数中使用的类型。我不想让它在该功能之外可用。我们可以在该函数中定义它吗?还是有其他方法可以达到同样的效果?

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    如果你有最新版本的 OCaml,你可以使用本地模块:

    let f x =
      let module Local = struct
        type t = A | B
      end in
      ...
    

    在顶层定义类型并将其排除在.mli 之外可能更自然:尽管它对文件中的其他代码可见,但它会保持全局隐藏。

    【讨论】:

    • 并且可以打开本地模块。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 2017-03-04
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多