到目前为止,我只能找到3种方法。
首先,if-then-else
第二,模式匹配
第三,使用|
。我不知道这叫什么。
在Haskell中还有其他方法可以显示 if else 语句吗?
答案 0 :(得分:5)
您可以使用Church-encoded Booleans:
Prelude> true = \t f -> t
Prelude> false = \t f -> f
Prelude> iff = id
Prelude> iff true "foo" "bar"
"foo"
Prelude> iff false 42 1337
1337
iff
函数的作用类似于if..then..else
表达式,使您可以在两个值之间进行选择,例如"foo"
和"bar"
或42
和{{ 1}}。根植于lambda演算,这实质上是逻辑分支的基础。有关更多详细信息,请参见链接的文章。
不是我知道您为什么要这样做,但是您可以...