gpt4 book ai didi

F# ((*)2) 和 ((<<<)1) 行为不同

转载 作者:行者123 更新时间:2023-12-01 09:25:55 25 4
gpt4 key购买 nike

我有这两段代码:

  • [| 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

括号运算符后面的第一个参数是左参数,而不是右参数。

关于F# ((*)2) 和 ((<<<)1) 行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24252040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com