我只是想知道我在 Haskell 中布置的递归函数。使用守卫通常比递归函数的模式更好吗?
我只是不确定最好的布局是什么,但我知道在定义如下函数时模式会更好:
units :: Int -> String
units 0 = "zero"
units 1 = "one"
更喜欢
units n
| n == 0 = "zero"
| n == 1 = "one"
我只是不确定在递归方面这是相同还是不同。
只是不太确定术语:我正在使用这样的东西:
f y [] = []
f y (x:xs)
| y == 0 = ......
| otherwise = ......
或者这会更好吗?
f y [] = []
f 0 (x:xs) =
f y (x:xs) =