Sav*_*xey 3 mapping f# functional-programming bitwise-operators
我有这两段代码:
[| 0 .. N-1 |] |> Array.map((<<<)1)
[| 0 .. N-1 |] |> Array.map((*)2)
我认为他们做的事情完全相同,但事实并非如此.在第一种情况下,我得到1, 2, 4并在第二 - 0, 2, 4.我不明白为什么有1第一种情况?如果我写let a = 0 <<< 1,我明白0.这是一个错误吗?谢谢!
争论不是你想的顺序,而是相反的.
比较它:
let a = 1 <<< 0 // this is equivalent to ((<<<)1) 0
Run Code Online (Sandbox Code Playgroud)
带括号的运算符后面的第一个参数是左参数,而不是右参数.