新手问题 Rails 里 &. 这样的用法是什么意思

dearest · 2016年06月30日 · 最后由 1c7 回复于 2018年04月18日 · 5660 次阅读

看到有这样的代码 @user_info&.user_mobile 不理解 &. 的作用是什么

ruby 2.3 引入的安全调用运算符

# Ruby <= 2.2.x
if user && user.admin?
  # do something
end

# Ruby 2.3
if user&.admin?
  # do something
end

What's new in Ruby 2.3?

单身狗语法,从此不再 try

单身狗运算符

&. try 基本上用途都是对付对 nil 对象。a.b.c 这样的火车是 nil 的老窝。 代码中频繁出现 a.b.c.method, 违反 Demeter law. 我觉得需要认真思考类设计,并适当包装。 &. 和 try 在代码中到处出现的时候,可以用 null object 来解决很大一部分。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号