3
`の奇妙な切り捨て動作私は、次を得る:ハスケル - GHCiのでdiv`
λ> -1 `div` 2
0
しかし:
divPair :: (Int, Int) -> Int -> (Int, Int)
divPair (a, b) n = (a `div` n, b `div` n)
λ> divPair (-1, -2) 2
(-1,-1)
:私は機能
divPair
を使用していたとき
λ> map (`div` 2) [-1]
[-1]
問題が発生しました
私はそれが(0, -1)
を生産することを期待していたので、本当に驚きでした。
ここで何が起こりましたか?ハスケルでdiv
のことを本当に理解していなかったと思います。 -1 `div` 2
ためだ