为了账号安全,请及时绑定邮箱和手机立即绑定

在Ruby中“和&的区别?

在Ruby中“和&的区别?

大话西游666 2019-07-06 15:22:26
在Ruby中“和&的区别?之间的区别是什么?&&和and红宝石的操作员?
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

实际的区别是结合强度,如果你没有做好准备的话,它会导致特殊的行为:


foo = :foo

bar = nil


a = foo and bar

# => nil

a

# => :foo


a = foo && bar

# => nil

a

# => nil


a = (foo and bar)

# => nil

a

# => nil


(a = foo) && bar

# => nil

a

# => :foo

同样的事情也适用于||和or.


查看完整回答
反对 回复 2019-07-06
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

这个Ruby风格指南说得比我好:

对于布尔表达式和/或控制流,请使用&/欧元。(经验法则:如果必须使用外括号,则使用错误的运算符。)

# boolean expressionif some_condition && some_other_condition
  do_somethingend# control flowdocument.saved? or document.save!


查看完整回答
反对 回复 2019-07-06
  • 3 回答
  • 0 关注
  • 545 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信