るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
4件ヒット [1-4件を表示] (0.022秒)
トップページ > バージョン:2.4.0[x] > ライブラリ:ビルトイン[x] > クラス:Object[x] > クエリ:object_id[x]

別のキーワード

  1. objectspace each_object
  2. _builtin each_object
  3. object send
  4. object __send__
  5. json object

キーワード

検索結果

Object#object_id -> Integer (54529.0)

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。

...られるかは不定です。

Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
メソッドはその値を返します。

TrueClass, FalseCla...
...必ず同じ object_id になります。

これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、
同じ内容のインスタンスを複数生成しないという内部実装が理由です。


p "ruby".object_id #=> 227...
...59500
p "ruby".object_id #=> 22759400

p [].object_id #=> 22759360
p [].object_id #=> 22759340

p :ruby.object_id #=> 103538
p :ruby.object_id #=> 103538

p 11.object_id #=> 23
p 11.object_id #=> 23

p true.object_id #=> 2
p true.object_id #=> 2

@see Object#equal?,Symbol...

Object#equal?(other) -> bool (46.0)

other が self 自身の時、真を返します。

...Object#object_idが一致する
かどうかを調べます。

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

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

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

p(:foo.equal? :foo) #=> true

@see Object#object_id...
...,Object#==,Object#eql?,Symbol...

Object#itself -> object (46.0)

self を返します。

...self を返します。

string = 'my string' # => "my string"
string.itself.object_id == string.object_id # => true...

Object#hash -> Integer (28.0)

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

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

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

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

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

デフォルトでは、Object#object_id と同じ値を返します。
ただし、Fixnum, Symbol, String だけは組込みのハッ
シュ関数が使用されます(これを変...
...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__...