If statement 简化函数中的if语句

If statement 简化函数中的if语句,if-statement,haskell,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 f x y z=如果y>=15 然后(如果y=15&&y

以下函数包括多个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
f x y z=如果y>=15
然后(如果y<23,则x*5,否则f(x+4)(y+7)z)
其他f(x+4)(y+7)z
试试这个

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

非常感谢。我是哈斯克尔初学者。你对一般的函数练习有什么建议吗?有一本适合初学者的免费haskell书。我不是一个超级粉丝,但对初学者来说很容易: