手记

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

&.  操作符作用: 起到空指针保护的作用,和 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,
&.则会检查对象是否能响应方法
更多信息可以看这里



作者:就叫初九吧
链接:https://www.jianshu.com/p/8b651079e76b

0人推荐
随时随地看视频
慕课网APP