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'方法? –