1
一个练习问题要求解释为什么这不起作用。显然,从运行代码我发现它没有,但我没有看到在这种情况下为什么。这个错误并没有说明太多!OCaml重新定义中缀运算符
# let (+) x y z = x + y + z in 5 + 6 7;;
Error: This expression has type int
This is not a function; it cannot be applied.
谢谢!
所以INT - > INT - > INT - > INT能被读为输入:int - > int和output:int - > int,或(int - > int) - >(int - > int)?也就是说,它的输入是一个int类型的函数吗? – Krpcannon
否'int - > int - > int - > int'意味着'int - >(int - >(int - > int))'并且只有那个。虽然'(int - > int) - >(int - > int)'表示一个函数,它接受一个'int-> int'函数并返回一个'int-> int'函数 – Kostya
谢谢@Kostya,这个目标函数根本的误解 - 签名值是正确的联想。 – Krpcannon