このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

instance method Struct#dig

dig(key, ...) -> object | nilRuby 2.3.0 から[permalink][rdoc][edit]

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

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

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

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