到目前为止,我只能找到3种方法.
第一, if-then-else
二,模式匹配
三,使用|.我不知道这叫什么.
是否有任何其他方法来呈现Haskell中的else语句?
您可以使用教会编码的布尔值:
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",或42和1337.植根于lambda演算,这基本上是逻辑分支的基础.有关详细信息,请参阅链接的文章.
不是我知道你为什么这样做,但你可以......