gpt4 book ai didi

ocaml - 如何避免在 Ocaml 中隐藏 stdlib 模块?

转载 作者:行者123 更新时间:2023-12-04 00:18:30 29 4
gpt4 key购买 nike

我有一个程序使用 Ocaml 标准库中的 Bytes 模块,并在文件顶部打开 Core_kernel.Std 模块

open Core_kernel.Std

...

let let buf = Bytes.make bom_len '\x00' in

我遇到的问题是,最新版本的 Core_kernel 引入了一个新的 Bytes 模块,它隐藏了标准库中的模块,这导致了 Unbound value Bytes.make 编译错误。

有没有办法在不去掉文件顶部的 open 的情况下解决这个命名问题?如果我这样做,将需要改变很多东西。

最佳答案

您可以为 Bytes 模块提供一个替代名称:

module B = Bytes

open Core_kernel.Std

let buf = B.make 10 '\x00'

然后在您的代码中执行搜索替换以将 Bytes 更改为 B

另一种解决方案是避免使用 open,但我想这需要对代码进行大量更改。

关于ocaml - 如何避免在 Ocaml 中隐藏 stdlib 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32596387/

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