instance method OpenStruct#dig

dig(key, ...) -> object | nil[permalink][rdoc]

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。

[PARAM] key:
キーを任意個指定します。
require 'ostruct'
address = OpenStruct.new('city' => "Anytown NC", 'zip' => 12345)
person = OpenStruct.new('name' => 'John Smith', 'address' => address)
person.dig(:address, 'zip')          # => 12345
person.dig(:business_address, 'zip') # => nil

[SEE_ALSO] Array#dig, Hash#dig, Struct#dig