刚刚开始学习F#,我正在阅读#34; The Book Of F#"。也许我遗漏了一些东西,但据我所知,前向/后向管道运算符正在将表达式的结果传递到前向/后向的下一个函数的 last 参数。但为什么这有效呢?它会将y
传递给x
(将x视为函数),然后将x y
传递给最后一个参数,例如减去b
。所以它应该返回一个闭包而不是一个int。但backwardTest 3 2
会返回1
。
let backwardTest x y =
let minus a b = a - b
minus <| x <| y
答案 0 :(得分:2)
所以你有
minus <| x <| y
=minus x <| y
=(minus x) y
=minus x y