Ocaml 代码中有错误:";这是一个无法应用的函数”;
我是Ocaml的新手。我不确定为什么以下情况不起作用:Ocaml 代码中有错误:";这是一个无法应用的函数”;,ocaml,Ocaml,我是Ocaml的新手。我不确定为什么以下情况不起作用: let nDivM m n = n/m let rec decimalToM m n = if (n < m) then n+n else ((n mod m) * n) + decimalToM(m nDivM) 让nDivM n=n/m 设rec decimalToM m n=如果(n
let nDivM m n = n/m
let rec decimalToM m n = if (n < m) then n+n
else ((n mod m) * n) + decimalToM(m nDivM)
让nDivM n=n/m
设rec decimalToM m n=如果(n
上面是一个基极转换器(M是基极)。我需要一个int,但现在它没有运行。问题似乎出现在这个子表达式中:
decimalToM(m nDivM)
子表达式(m nDivM)
在语法上是对m
的调用,作为函数传递nDivM
由于nDivM
是一个函数,因此不能仅通过移动括号来完全修复此问题。在我看来,您需要为nDivM
提供一些参数。那么你应该确保你的括号是正确的
如果
f
是两个参数的函数,那么在OCaml中调用它的方法是:fxy
。请注意,不需要括号(除非x
或y
是更复杂的表达式)。Hi@Alex,欢迎使用堆栈溢出!请你再补充一点细节,你已经弄明白了什么,这样当人们帮助你时就可以节省时间?我得到的是“这不是一个函数,它不能应用。”这比问题中的错误更有意义。