有多少种方法可以用来表示Haskell中的else语句?

use*_*628 0 haskell

到目前为止,我只能找到3种方法.

第一, if-then-else

二,模式匹配

三,使用|.我不知道这叫什么.

是否有任何其他方法来呈现Haskell中的else语句?

Mar*_*ann 5

您可以使用教会编码的布尔值:

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
Run Code Online (Sandbox Code Playgroud)

iff功能的工作原理就像一个if..then..else表情,让您的两个值之间进行选择,如"foo""bar",或421337.植根于lambda演算,这基本上是逻辑分支的基础.有关详细信息,请参阅链接的文章.

不是我知道你为什么这样做,但你可以......