它被称为安全导航操作员.Ruby 2.3.0中引入了它,它允许您在对象上调用方法,而不用担心对象可能是nil
(避免了undefined method for nil:NilClass
错误),类似于try
method in Rails.
这样你就可以写作了
@person&.spouse&.name
而不是
@person.spouse.name if @person && @person.spouse
从Docs人中:
my_object.my_method
这会将
my_method
消息发送到my_object
.任何您可以使用
&.
来指定接收器,然后不调用my_method