【Ruby3.x】Complex::eql?()メソッドの使い方
eql?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
eql?メソッドは、RubyのComplexクラスにおいて、自身のインスタンスと他のオブジェクトが厳密に等しいかどうかを判定するメソッドです。具体的には、比較対象のオブジェクトがComplexクラスのインスタンスであり、かつ実部と虚部の両方がそれぞれ等しい場合にのみtrueを返します。
このメソッドは、同じく等価性判定を行う==メソッドよりも厳格な比較を行います。==メソッドが値の等価性のみを重視し、異なる型であっても値が同じであればtrueを返すことがあるのに対し、eql?メソッドは値が等しいだけでなく、比較対象の型も同じであることを要求します。例えば、Complex型のオブジェクトとInteger型やFloat型のオブジェクトを比較する際、値が数値的に等しくても型が異なればeql?はfalseを返します。
このような厳密な比較は、特にハッシュのキーとしてComplexオブジェクトを使用する場合に重要となります。ハッシュはキーの等価性を判定する際にeql?メソッドを利用するため、異なる型のオブジェクトを別々のキーとして扱いたい場合にeql?の挙動が役立ちます。システムエンジニアを目指す初心者の方々も、オブジェクトの厳密な同一性を確認する必要がある場面で、このeql?メソッドが有効であることを理解しておくと良いでしょう。
構文(syntax)
1Complex(1, 2).eql?(Complex(1, 2))
引数(parameters)
other
- other: 比較対象となる Complex オブジェクト、または数値型オブジェクト
戻り値(return)
Boolean
Complexクラスのインスタンスが、指定されたオブジェクトと値が等しい場合に真偽値 (Boolean) の true を返します。そうでなければ false を返します。