gpt4 book ai didi

function - 函数中的 OCaml 语法错误

转载 作者:行者123 更新时间:2023-12-04 22:31:46 25 4
gpt4 key购买 nike

我必须创建一个函数来显示一组字符串中的每个元素。我做了以下事情:

module S = Set.Make(String);;
module P = Pervasives;;
let write x = (
P.print_string("{"); let first = true;
S.iter (fun str -> (if first then () else P.print_string(","); P.print_string(str))) x;
P.print_string("}");
P.print_newline
);;
^

在程序结束时(我放置该符号的位置)似乎出现错误:语法错误:运算符(operator)预期。
请帮我解决这个问题。

最佳答案

我相信你的语法问题是 let .除了顶层代码(模块的最外层),let必须跟in .

这段代码还有很多其他问题,但也许这会让你找到下一个问题:-)

几点注意事项:

OCaml 中的变量是不可变的。所以你的变量名为 first永远都是真的。你不能改变它。这个(看似次要的)点是函数式编程的关键之一。

您无需引用 Pervasives模块名称。这就是为什么它被称为“无处不在”。你可以说print_string通过它自己。

您最后一次调用 print_newline不是电话。这个表达式只计算函数本身。 (如果你想调用这个函数,你需要给它一个参数。)

关于function - 函数中的 OCaml 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19620952/

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