简化功能中的if语句

Ron*_*ese 0 haskell if-statement

以下函数包含多个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
Run Code Online (Sandbox Code Playgroud)

小智 8

尝试这个

f x y z
  | y >=15 && y < 23 = x*5
  | otherwise = f(x+4) (y+7) z
Run Code Online (Sandbox Code Playgroud)