検索結果
先頭5件
-
Object
# hash -> Fixnum (62226) -
オブジェクトのハッシュ値を返します。Hash クラスでオブジェク トを格納するのに用いられています。
...のハッシュ値を返します。Hash クラスでオブジェク
トを格納するのに用いられています。
メソッド hash は Object#eql? と組み合わせて Hash クラスで利用されます。その際
A.eql?(B) ならば A.hash == B.hash
の関係を必ず満たしてい......義してください。
デフォルトでは、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?,Object#__id__... -
Object
# to _ hash -> Hash (27231) -
オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要......われるすべての場面で代置可能であるような、
* ハッシュそのものとみなせるようなもの
という厳しいものになっています。
class Foo
def to_hash
{'as' => 24}
end
end
it = Foo.new
p({:as => 12}.merge(it)) #=> {"as"=>24, :as=>12}... -
Object
# eql?(other) -> bool (21065) -
オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。
...オブジェクトと 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
# is _ a?(mod) -> bool (21031) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...d
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
@see Object#instance_of?,Module#===,Object#class... -
Object
# kind _ of?(mod) -> bool (21031) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...d
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
@see Object#instance_of?,Module#===,Object#class...
