RubyRuby、Rails知识Ruby

Ruby 2.3.0新增的操作符 &. 安全导航符

2017-08-01  本文已影响30人  就叫初九吧
&.  操作符作用: 起到空指针保护的作用,和 Rails ActiveSupport 引入的方法try作用相似

例如 一个user 有一个address,如果你想使用这个address代码如下

  1. 第一种写法
if user && user.address
## some code 
end
首先,先判断这个user不能为nil, 然后再判断 address 不能为nil,同时不为nil 
的时候你才能操作这个address
  1. 使用ActiveSupport的try
if user.try(:address)
  ## some code 
end
  1. 使用&.
if user&.address
  ## some code 
end

如上我们看到 &.用法更简洁


备注:
第一种和使用&.的结果是一样的。
和try的不同:
try不会去判断对象上是否能响应方法,如果不能最终返回的结果是nil,
&.则会检查对象是否能响应方法
更多信息可以看这里

上一篇下一篇

猜你喜欢

热点阅读