简化功能中的if语句

时间:2019-04-29 12:36:42

标签: if-statement haskell

以下函数包括多个if-then-else语句。是否可以在不使用内部if-then-else语句的情况下简化代码?

f x y z = if y >= 15 
            then (if y < 23 then x*5 else f (x+4) (y+7) z) 
            else f(x+4) (y+7) z

1 个答案:

答案 0 :(得分:8)

尝试一下

f x y z
  | y >=15 && y < 23 = x*5
  | otherwise = f(x+4) (y+7) z