array = {first: {second: {one: 1, two: 2, three: 3 }}}
假设什么都可以nil
,这将是访问嵌套的值,而不绊倒零最简单/最简洁的方式?如果有任何成员不存在,则应该返回nil
。
我们想出了这些:
纯Ruby:
value = array.fetch(:first, {}).fetch(:second, {}).fetch(:four, nil)
value = begin array[:first][:second][:four]; rescue; end
Ruby on Rails的:
value = array.try(:[], :first).try(:[], :second).try(:[], :four)
你能想出?你更喜欢哪种方法,为什么?
谢谢!
任何想法如何定义和使用Rails 5应用程序中的'safe_fetch'方法? –