るりまサーチ

最速Rubyリファレンスマニュアル検索!
12件ヒット [1-12件を表示] (0.006秒)
トップページ > クラス:Object[x] > クエリ:eql?[x]

別のキーワード

  1. _builtin eql?
  2. matrix eql?
  3. openssl eql?
  4. eql? _builtin
  5. ipaddr eql?

ライブラリ

検索結果

Object#eql?(other) -> bool (18101.0)

オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。

...時には Object#hash メソッ
ドも再定義しなければなりません。

@param other 比較するオブジェクトです。

p("foo".eql?("bar")) #=> false
p("foo".eql?("foo")) #=> true

p(4.eql?(4)) #=> true
p(4.eql?(4.0)) #=> false

@see Object#hash,Object#equal?,Object#==...

Object#hash -> Fixnum (7.0)

オブジェクトのハッシュ値を返します。Hash クラスでオブジェク トを格納するのに用いられています。

...に用いられています。

メソッド hash は Object#eql? と組み合わせて Hash クラスで利用されます。その際

A.eql?(B) ならば A.hash == B.hash

の関係を必ず満たしていなければいけません。eql? を再定義した時には必ずこちらも合わせ...
...て再定義してください。

デフォルトでは、Object#object_id と同じ値を返します。
ただし、Fixnum, Symbol, String だけは組込みのハッ
シュ関数が使用されます(これを変えることはできません)。

hash を再定義する場合は、一様に分...
...Fixnumに収まらない場合は切り捨てられます。

p self.hash #=> 21658870
p 0.hash #=> 1
p 0.0.hash #=> 0
p nil.hash #=> 4

p "ruby".hash #=> -241670986
p "ruby".hash #=> -241670986
p :ruby.hash #=> 103538
p :ruby.hash #=> 103538

@see Object#eql?,BasicObject#__id__...