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

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

instance method Array#dig

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

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

[PARAM] idx:
インデックスを整数で任意個指定します。
a = [[1, [2, 3]]]

p a.dig(0, 1, 1)               # => 3
p a.dig(1, 2, 3)               # => nil
a.dig(0, 0, 0)                 # ~> TypeError: Integer does not have #dig method
p [42, {foo: :bar}].dig(1, :foo) # => :bar

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