gpt4 book ai didi

arrays - Ocaml 实现

转载 作者:行者123 更新时间:2023-12-04 11:43:59 25 4
gpt4 key购买 nike

我在 ocaml 中实现数组时遇到了一个小问题。例如,当我在终端(konsole)上输入

let tab = Array.make 5 6;

我有
val tab : int array = [|6; 6; 6; 6; 6|]

作为输出。所以它创建了一个长度为 5 的数组,并用 6 填充所有的情况。好的,我理解那部分。但是当我在像 kate 这样的文本编辑器上输入它时,保存并编译它我得到这个错误:
Error: Unbound value Array.make

我不明白为什么需要 Array. make 作为 kate 中的值,它将 Array.make 作为终端中的函数。我用“.ml”扩展名保存了文件,并使用 ocamlc -o test name_of_file 编译它.
请问有什么建议吗?谢谢。

最佳答案

我用 ocamlc 编译了你的程序一切顺利(使用 OCaml 3.12.0)。

我猜你在尝试编译时调用的是旧版本的编译器,可能是从 Array.make 开始的版本。仍被命名为 Array.create .也许当您安装新版本时,您覆盖了一些文件(例如顶级文件)但没有覆盖其他文件(例如编译器)。为了检查,比较 ocamlc -v 给出的版本和 ocaml .

至于消息“Unbound value”,在 OCaml 中,函数就是值。实现者没有区分“非函数的未绑定(bind)值”和“函数的未绑定(bind)值”,但这不是问题的原因。您的问题的原因是 Array.make完全不受约束。

关于arrays - Ocaml 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451030/

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