【发布时间】:2015-11-08 21:35:41
【问题描述】:
我已经定义了 4 个函数,它们返回一个类型为 (int * int) 的元组,如下所示 所有这些功能都经过测试。
let f1 (p1, p2, p3, p4) =
if <condition> then p1
....
else p4
如何定义一个函数,使用这 4 个函数的输出来返回类型为 (int * int, int * int, int * int, int * int) 的元组
let test(p1, p2, p3, p4) =
(f1(p1, p2, p3, p4), f2(p1, p2, p3, p4), f3(p1, p2, p3, p4), f4(p1, p2, p3, p4))
OCaml interpeter 给了我一个语法错误,它并没有真正告诉我任何事情。
【问题讨论】:
-
如果没有实际的错误消息就很难判断(拥有功能代码也有帮助)。附带说明一下,因为您总是将
(p1, p2, p3, p4)作为一个整体传递给 f1 .. f4 您可以简化它test ps = f1 ps, f2 ps, f3 ps, f4 ps -
谢谢,我刚刚意识到我错过了函数定义末尾的第二个分号。现在工作
-
“这并没有告诉我任何事情”所以你知道我们的感受
标签: ocaml