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

instance method Array#dig

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

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

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


a = [[1, [2, 3]]]

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

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