Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Array::eql?()メソッドの使い方

eql?メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

eql?メソッドは、レシーバーである配列と引数として渡された別の配列が、厳密に等しいかどうかを判定するメソッドです。このメソッドは、配列の内容が完全に一致するかを確認する際に使用されます。

eql?メソッドが真(true)を返すためには、いくつかの条件が満たされる必要があります。まず、比較対象となる両方のオブジェクトが、同じArrayクラスのインスタンスである必要があります。次に、両方の配列が全く同じ数の要素を持っている必要があります。そして最後に、配列内の各要素が、対応する位置でそれぞれeql?メソッドによって等しいと判定されることが求められます。つまり、配列が持つ要素同士の比較にも、それぞれの要素自身のeql?メソッドが内部的に利用されます。

このメソッドは、単に値が同じであるかだけでなく、型の一致も厳密に確認するため、ハッシュのキーとして配列を使用する場合や、特定のデータ構造において厳密な同一性が求められる場面で特に有用です。一般的な==メソッドと比較して、eql?メソッドはより厳密な等価性を判定する点が特徴です。

構文(syntax)

1[1, 2, 3].eql?([1, 2, 3])  # => true
2[1, 2, 3].eql?([1, 2])     # => false
3[1, 2, 3].eql?([1, 3, 2])  # => false

引数(parameters)

other

  • other: 比較対象の配列またはオブジェクト

戻り値(return)

Boolean

2つの配列が、要素の数と要素の値、そして要素の順序まですべて等しい場合にtrueを返します。それ以外の場合はfalseを返します。

関連コンテンツ

関連プログラミング言語