【Ruby3.x】Rational::hash()メソッドの使い方
hashメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
hashメソッドは、Rationalオブジェクトのハッシュ値を計算して返却するメソッドです。ハッシュ値とは、オブジェクトを一意に識別するための整数値であり、主にHash(ハッシュマップ)オブジェクトのキーとして利用される際に、データの高速な検索を可能にするために用いられます。
Rationalクラスのhashメソッドは、そのRationalオブジェクトが表す有理数に基づいた整数値を生成します。Rubyのオブジェクトシステムにおいて、「等しい」と判断されるオブジェクト(eql?メソッドがtrueを返す場合)は、必ず同じハッシュ値を返さなければならないという重要な規約があります。この規約は、HashオブジェクトやSetオブジェクトのような、ハッシュ値を利用して要素の管理を行うデータ構造が正しく動作するために不可欠です。
例えば、Rational(1, 2)とRational(2, 4)は数学的に同じ有理数を表します。このため、これらのオブジェクトに対してhashメソッドを呼び出すと、それぞれ同じ整数値が返されます。これにより、HashのキーとしてRational(1, 2)とRational(2, 4)のどちらを使用しても、同じ値にアクセスできるようになります。
このメソッドは、RationalオブジェクトをHashのキーとして利用したり、Setの要素として追加したりする場合など、オブジェクトの同一性を効率的に比較する必要がある場面で内部的に呼び出されます。返される値は常に整数型です。
構文(syntax)
1Rational(1, 2).hash
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
Rationalオブジェクトのハッシュ値を整数で返します。