可能重复:
Ruby:||之间的区别 和'或'
在红宝石中,不是'或'和'||' 同一件事情?我执行代码时会得到不同的结果.
line =""
if (line.start_with? "[" || line.strip.empty?)
puts "yes"
end
line =""
if (line.start_with? "[" or line.strip.empty?)
puts "yes"
end
Run Code Online (Sandbox Code Playgroud)
不,这两个运营商具有相同的效果,但优先级不同.
该||运营商具有很高的优先级,所以它结合非常紧密的前值.该or经营者具有非常低的优先级,因此它比其他运营商结合不太紧密.
拥有两个版本的原因正是一个具有高优先级而另一个具有低优先级,因为这很方便.