【Ruby3.x】Array::dig()メソッドの使い方
digメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
digメソッドは、Arrayクラスに属し、ネストされた配列やハッシュから、指定された一連のキーまたはインデックスパスをたどって値を安全に取得するメソッドです。
複数の階層を持つデータ構造から特定の要素にアクセスする際、通常は[]演算子を連続して使用しますが、その途中の要素が存在しなかったり、対応するオブジェクトがnilであったりした場合にNoMethodErrorなどのエラーが発生する可能性があります。これに対し、digメソッドは引数として与えられたキーやインデックスのリストを順にたどり、途中で要素が見つからなかったり、対応するオブジェクトがnilであったりした場合でも、エラーを発生させることなく最終的にnilを返します。
この特性により、複雑なデータ構造に対するアクセスを簡潔かつ安全に行うことが可能になります。特に、外部からのデータ(JSONなど)を扱う際に、特定のキーの存在を事前に確認する手間を省き、コードの記述量を減らすことができます。引数には、アクセスしたい階層のキー(ハッシュの場合)またはインデックス(配列の場合)を任意の数だけ指定します。digメソッドは、指定されたパスに値が存在すればその値を、存在しなければnilを返します。
構文(syntax)
1arr = [[1, 2], [3, [4, 5]]] 2value = arr.dig(1, 1, 0)
引数(parameters)
*rest
- rest: 検索するキー(配列、ハッシュ、または配列/ハッシュの組み合わせ)を可変長引数として指定します
戻り値(return)
object or nil
指定されたインデックスの要素を多次元配列やハッシュから安全に取得します。指定したパスに要素が存在しない場合は nil を返します。