或 Ruby 中的关键字
在 Ruby 中,“或”关键字返回其两个操作数的逻辑析取。如果两个操作数都为真,则条件变为真。它在任何一个条件/表达式为“ true ”时返回“ true ”,仅当它们全部为“ false ”时才返回“ false ”。此关键字等效于 || Ruby 中的逻辑运算符,但优先级较低。
句法:
Condition1 or Condition2
示例 1:
Ruby
# Ruby program to illustrate or keyword
username = "geek"
password = "come"
# Using or keyword
if (username == "geek" or password == "come")
puts "Welcome, GeeksforGeeks!"
else
puts "Incorrect username or password!"
end
Ruby
# Ruby program to illustrate or keyword
# and || operator
def one() true; end
def two() true; end
# Using || operator
res1 = one || two ? "GeeksforGeeks" : "Do Nothing"
puts res1
# Using or keyword
res2 = one or two ? "GeeksforGeeks" : "Do Nothing"
puts res2
输出:
Welcome, GeeksforGeeks!
示例 2:
在这个例子中,我们将看到 or 关键字和 || 中的优先级差异。运算符:
红宝石
# Ruby program to illustrate or keyword
# and || operator
def one() true; end
def two() true; end
# Using || operator
res1 = one || two ? "GeeksforGeeks" : "Do Nothing"
puts res1
# Using or keyword
res2 = one or two ? "GeeksforGeeks" : "Do Nothing"
puts res2
输出:
GeeksforGeeks
true
解释:在上面的例子中,乍一看,逻辑是一样的,但我们得到不同的结果。但是当你仔细观察时,你会发现不同之处。第一种情况的输出是GeeksforGeeks ,第二种情况的输出是true 。当然,这与运算符优先级有关。考虑评估它们的顺序(优先级)。
- ||
- =
- 或者
因为||在第一个语句中具有比 = 更高的优先级(即,使用 ||运算符):
res1 = 一 ||二 ? “GeeksforGeeks”:“什么都不做”
在第二个语句(即 using or 关键字)中,这些操作的顺序不同 = 具有更高的优先级:
res2 = 一还是二? “GeeksforGeeks”:“什么都不做”