`
sean
  • 浏览: 15918 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

&&的一种使用场景

阅读更多
在ruby代码中经常看到这种使用||的idiom:
ruby 代码
 
  1. a = a || b  
  2. # or more concise:  
  3. a ||= b  
但是却很少看到使用&&的场景。如果你在一个方法中想返回一个表达式, 就像这样:
ruby 代码
 
  1. def foo  
  2.    bar.prop  
  3. end  
上面的代码就有个问题, 如果bar对象为nil, 则上面的代码就会抛出错误.修改一下上面的代码:
ruby 代码
 
  1. def foo  
  2.    bar.nil? ? bar : bar.prop  
  3. end 
不够简洁? && rescued!
ruby 代码
 
  1. def foo  
  2.    bar && bar.prop  
  3. end  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics