奇怪的表达式解析行为

时间:2013-01-19 08:48:40

标签: f#

在此代码中:

let f(a,b,c) = a * b + c - (d())
let g(a,b,c) = a * b + c -(d())

f(int*int*int) -> intg(int*int*(int*int)) -> int

删除d()g周围的括号会导致“连续参数应以空格或元组分隔”错误。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

@bytebuster在他的评论中是非常正确的,但是把它放到外行的术语中; - ]一个被解析为二元减法运算符而另一个被解析为一元否定运算符 - 你只是在这里与运算符优先级对抗。