在Haskell中,我们可以使用多少种方式来表示if-else语句?

在Haskell中,我们可以使用多少种方式来表示if-else语句?,haskell,Haskell,到目前为止,我只能找到3种方法 首先,if然后else 第二,模式匹配 第三,使用|。我不知道这叫什么 Haskell中是否还有其他方法可以表示if-else语句?您可以使用: iff函数的工作原理类似于if..then..else表达式,允许您在两个值之间进行选择,如“foo”和“bar”,或42和1337。根植于lambda演算,这基本上是逻辑分支的基础。有关更多详细信息,请参阅链接文章 我不知道你为什么要这样做,但你可以…你可以使用: iff函数的工作原理类似于if..then..else

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

首先,
if然后else

第二,模式匹配

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

Haskell中是否还有其他方法可以表示if-else语句?

您可以使用:

iff
函数的工作原理类似于
if..then..else
表达式,允许您在两个值之间进行选择,如
“foo”
“bar”
,或
42
1337
。根植于lambda演算,这基本上是逻辑分支的基础。有关更多详细信息,请参阅链接文章

我不知道你为什么要这样做,但你可以…

你可以使用:

iff
函数的工作原理类似于
if..then..else
表达式,允许您在两个值之间进行选择,如
“foo”
“bar”
,或
42
1337
。根植于lambda演算,这基本上是逻辑分支的基础。有关更多详细信息,请参阅链接文章


我不知道你为什么要这样做,但你可以…

|
被称为守卫,b因为懒惰而忽略了函数的计数
[e,t]!!fromEnum c
(getMax(
@melpomene
最后一个$e:[t | c]
是一个众所周知的代码,如果then else
被称为一个守卫,btwPerhaps函数计数(因为懒惰)
[e,t]!!fromEnum c
(getMax(
@melpomene
最后一个$e:[t | c]
是一个众所周知的if-then的代码拼写,这也是
($)=id
的一个简便说明。这也是
($)=id
的一个简便说明。
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