function - 函数中的 OCaml 语法错误

标签 function syntax syntax-error ocaml

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

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/

相关文章:

php - PHP解析/语法错误;以及如何解决它们

asp.net - 如何为此 RC4 算法创建解密函数

php - fatal error : Call to undefined function oci_connect() in Wamp

python - cv2.imshow() 在自定义函数中不起作用

c++ - 单独类中的 opengl 扩展函数

python - 如何在定义指示返回的非典型对象的函数期间创建提示?

python - "("此时无法进行语法处理”

function - 数学: get number of arguments passed to a function?

flutter - @运算符在 Dart 中到底是什么意思?

ruby-on-rails - Ruby On Rails迭代器.each block 错误