匹配在學校exercice格局GHCI
我有這個功能
bar :: Float -> Float -> Float
bar x 0 = 0
bar 0 y = 0
bar x y = x * y
我在GHC鍵入它作爲
let bar x 0 = 0; bar 0 y = 0; bar x y = x * y
和評估
bar foo 0
bar 0 foo
我要求修改欄使用'|'所以我想要做的事,如:
let bar x y = | x 0 = 0 | 0 y = 0 | x y = x * y
但在ghci中我得到了
parse error on input '='
我怎樣才能做到這一點在GHCI? 使用模式匹配('|')的事實會改變什麼嗎?
你原來的'bar'使用模式匹配。你想了解[衛兵](http://en.wikibooks.org/wiki/Haskell/Truth_values#Guards)。 – dave4420
你可能特別聰明,只需簡單地寫'let bar |否則=(*)'...... – leftaroundabout
刪除第一個守衛之前的'=',let bar x y | x == 0 = ... | y == 0 = ... |否則= ...'。 –