gpt4 book ai didi

module - OCaml 模块中的私有(private)值?

转载 作者:行者123 更新时间:2023-12-05 08:31:03 26 4
gpt4 key购买 nike

是否可能有一个 let 绑定(bind)(无论是函数、值等)对其模块私有(private),并且从外部不可见?

假设我们有A.ml:

let exported = 1
let local = 2

我只希望可以从其他模块访问exportedB.ml:

let a = A.exported
let error = A.local (* This should error *)

类似于 let%privateReason 中所做的。

最佳答案

这就是签名和 mli 文件背后的动机:它们允许向外部世界隐藏信息,并且只公开 API 的相关部分,而不公开实现细节。在你的情况下,它看起来像

(* A.ml *)
let exported = 1
let local = 2

(* A.mli *)
val exported: int

然后只有 exportedA.ml 之外可见。

关于module - OCaml 模块中的私有(private)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60368652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com