3
的`奇怪的截斷行爲在ghci中我得到以下幾點:哈斯克爾 - div`
λ> -1 `div` 2
0
但是:
λ> map (`div` 2) [-1]
[-1]
的問題出現了,當我使用的是功能divPair
:
divPair :: (Int, Int) -> Int -> (Int, Int)
divPair (a, b) n = (a `div` n, b `div` n)
λ> divPair (-1, -2) 2
(-1,-1)
這真的讓我吃驚,因爲我預計它會產生(0, -1)
。
這裏發生了什麼事?我想我對Haskell中的div
並不是很瞭解。