我知道他們不支持跨模式匹配(即,您需要爲每個模式重寫'where'子句),但是對於警衛員的範圍工作如何?在Haskell中,處理守衛時where子句的範圍是什麼?
例如這是否工作?
myFunction x1 x2
| x1 > x2 = addOne x1
| x1 < x2 = addOne x2
| otherwise = x1
where addOne = (1+)
還是應該是這個?
myFunction x1 x2
| x1 > x2 = addOne x1
where addOne = (1+)
| x1 < x2 = addOne x2
where addOne = (1+)
| otherwise = x1