[黑科技] &.的用法

在工作中遇到这样的代码:

#workgroup = Bag::Workgroup.all.find {|c| c.workers.find {|a| a.id == accident.operator_id}}.try(:[], :name)

可以使用&.来优化:

workgroup = Bag::Worker.find_by(id: accident.operator_id)&.workgroup.try(:[],:name)

这篇文章详细介绍了&.的用法

http://mitrev.net/ruby/2015/11/13/the-operator-in-ruby/

还有这篇
https://aaronlasseigne.com/2016/01/04/rubys-new-safe-navigation-not-equal-operator/

你可能感兴趣的:([黑科技] &.的用法)