Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Structクラス > dig

instance method Struct#dig

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

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

[PARAM] key:
キーを任意個指定します。
klass = Struct.new(:a)
o = klass.new(klass.new({b: [1, 2, 3]}))

o.dig(:a, :a, :b, 0)              # => 1
o.dig(:b, 0)                      # => nil

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