我注意到試圖在haskell中使用參數執行模式匹配並不總是奏效。下面是一個例子:與haskell中的整數匹配的模式給出錯誤的結果
test :: Integer -> Integer -> String
test num1 num2 = case num1 of
num2 -> "foo"
otherwise -> "bar"
當我在解釋器中加載它時,它會警告我重疊的模式匹配。此外,test a b
對於任何兩個整數a
和b
均返回"foo"
,無論它們是否相等。看起來模式匹配中的num2
與參數中的不一樣。
我想知道爲什麼會發生這種情況。我真的很感謝任何有關情況的見解。
你幾乎說,正是它的原因:「在'num2'的模式匹配是不一樣的人在論據」。 –