📜  或 Ruby 中的关键字

📅  最后修改于: 2022-05-13 01:55:31.063000             🧑  作者: Mango

或 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 。当然,这与运算符优先级有关。考虑评估它们的顺序(优先级)。

  1. ||
  2. =
  3. 或者

因为||在第一个语句中具有比 = 更高的优先级(即,使用 ||运算符):

res1 = 一 ||二 ? “GeeksforGeeks”:“什么都不做”

第二个语句(即 using or 关键字)中,这些操作的顺序不同 = 具有更高的优先级:

res2 = 一还是二? “GeeksforGeeks”:“什么都不做”