目录

Show 例子

Elixir提供了6个逻辑运算符:和,或者,不是,&&,|| 和! 前三个, and or not严格的布尔运算符,这意味着它们期望它们的第一个参数是布尔值。 非布尔参数将引发错误。 而接下来的三个, &&, || and ! &&, || and ! 是非严格的,不要求我们将第一个值严格地作为布尔值。 它们的工作方式与严格的同行相同。 假设变量A成立,变量B成立20,则 -

操作者 描述
and 检查提供的两个值是否真实,如果是,则返回第二个变量的值。 (逻辑和)。 A和B将给20
or 检查提供的值是否真实。 返回真正的值。 否则返回false。 (逻辑或)。 A或B将给出真实
not 一元运算符,它反转给定输入的值。 不是A会给出错误
&& 非严格and 。 与第一个参数相同但不期望它是布尔值。 B && A将给20
|| 非严格or 。 与第一个参数相同or不期望第一个参数是布尔值。 B || A会给出真实的
! 非严格not 。 同样的工作原理,但不要指望参数是布尔值。 !A will give false

NOTE − andor&&|| 是短路运算符。 这意味着如果和的第一个参数为false,那么它将不会进一步检查第二个参数。 如果第一个参数or为真,那么它将不会检查第二个参数。 例如,

false and raise("An error")  
#This won't raise an error as raise function wont get executed because of short
#circuiting nature of and operator.

例子 (Example)

请尝试以下代码来了解Elixir中的所有算术运算符。

a = true
b = 20
IO.puts("a and b " <> to_string(a and b))
IO.puts("a or b " <> to_string(a or b))
IO.puts("not a " <> to_string(not a))
IO.puts("b && a" <> to_string(b && a))
IO.puts("b || a " <> to_string(b || a))
IO.puts("!a " <> to_string(!a))

上述程序产生以下结果 -

a and b 20
a or b true
not a false
b && a true
b || a 20
!a false
↑回到顶部↑
WIKI教程 @2018