るりまサーチ

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

別のキーワード

  1. _builtin hash
  2. tkutil hash_kv
  3. hash _builtin
  4. hash []
  5. dbm to_hash

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

Hash#hash -> Integer (27114.0)

自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。 自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。

...します。
自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。

a = {}
p a.hash #=> 0
a[1] = :x
p a.hash #=> 329543...

Hash#to_hash -> self (15114.0)

self を返します。

...self を返します。

@see Object#to_hash, Hash#to_h...

Hash#rehash -> self (15113.0)

キーのハッシュ値を再計算します。

...@raise RuntimeError Hash#eachなどのイテレータの評価途中でrehashすると発生します。
@return selfを返します。

a = [ "a", "b" ]
h = { a => 100 }

p h[a] #=> 100

a[0] = "z"
p h[a] #=> nil

h.rehash
p h[a] #=> 100

@see Object#hash...

Hash#to_hash -> self (15108.0)

self を返します。

...self を返します。

@see Object#to_hash...

Hash.new {|hash, key| ... } -> Hash (9291.0)

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

...空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、そ...
...ト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new("foo")

p h[1] #=> "foo"
p h[1].object_id #=> 6127170
p h[1] << "bar" #=> "foobar"
p h[1]...
...だ無いキーが呼び出される度に
# ブロックを評価するので、全て別のオブジェクトになります。
h = Hash.new {|hash, key| hash[key] = "foo"}

p h[1] #=> "foo"
p h[1].object_id #=> 6126900
p h[1] << "bar" #=> "foobar"
p h...

絞り込み条件を変える

Hash.new(ifnone = nil) -> Hash (9156.0)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

...fnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返します...
...
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。

h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]

これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
また、...
...h = Hash.new([])

p h[1] #=> []
p h[1].object_id #=> 6127150
p h[1] << "bar" #=> ["bar"]
p h[1] #=> ["bar"]

p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150

p h #=> {}


h = Hash.new(...

Hash.[](*key_and_value) -> Hash (9148.0)

新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。

...値になります。

このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash
.newを使うか、Hash#default=で後から指定してください。

@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数...
..., ...] の配列からハッシュへ

ary = [1,"a", 2,"b", 3,["c"]]
p Hash[*ary] # => {1=>"a", 2=>"b", 3=>["c"]}

(2) キーと値のペアの配列からハッシュへ

alist = [[1,"a"], [2,"b"], [3,["c"]]]
p Hash[*alist.flatten(1)] # => {1=>"a", 2=>"b", 3=>["c"]}

(3) キーと値の...
...list = keys.zip(vals) # あるいは alist = [keys,vals].transpose
p Hash[alist] # => {1=>"a", 2=>"b", 3=>["c"]}

(4) キーや値が配列の場合

alist = [[1,["a"]], [2,["b"]], [3,["c"]], [[4,5], ["a", "b"]]]
hash
= Hash[alist] # => {1=>["a"], 2=>["b"], 3=>["c"], [4, 5]=>["a", "b"]}...

Hash#merge(other) -> Hash (9145.0)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#merge(other) {|key, self_val, other_val| ... } -> Hash (9145.0)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#to_h -> self | Hash (9134.0)

self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。

...self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。...

絞り込み条件を変える

Hash.try_convert(obj) -> Hash | nil (9130.0)

to_hash メソッドを用いて obj をハッシュに変換しようとします。

...to_hash メソッドを用いて obj をハッシュに変換しようとします。

何らかの理由で変換できないときには nil を返します。
このメソッドは引数がハッシュであるかどうかを調べるために使えます。

Hash
.try_convert({1=>2}) # => {...
...1=>2}
Hash
.try_convert("1=>2") # => nil...

Hash.[](other) -> Hash (9128.0)

新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。

...のキーと値を持つ新たなハッシュを生成して返します。

引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil...
...影響します。

@param other 生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。

h = {1 => "value"}
h.default = "none"

g = Hash[h]
p g #=> {1=>"value"}

p h[:no] #=> "none"
p g[:no] #=> nil

h[:add] = "som...

Hash#invert -> Hash (9126.0)

値からキーへのハッシュを作成して返します。

...

def safe_invert(orig_hash)
result = Hash.new{|h,key| h[key] = [] }
orig_hash.each{|key, value|
result[value] << key
}
result
end
p safe_invert({"a"=>1, "b"=>1, "c"=>3})
#=> {1=>["a", "b"], 3=>["c"]}

#転載:Rubyレシピブック No.120

@see Hash#key...

Hash#reject {|key, value| ... } -> Hash (9126.0)

self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。

...とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。

h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }

p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}

@see Hash#delete_if,Hash#delete,Enumerable#reject...

Hash#clone -> Hash (9103.0)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが
変わらない「浅い(shallow)」コピーを行います。

h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p...

絞り込み条件を変える

Hash#dup -> Hash (9103.0)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが
変わらない「浅い(shallow)」コピーを行います。

h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p...

Hash#select {|key, value| ... } -> Hash (9102.0)

key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。

key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。

h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}

Hash#[](key) -> object | nil (9061.0)

key に関連づけられた値を返します。

...別する必要が
ある場合は Hash#fetch または Hash#has_key? を使ってください。

@param key 探索するキーを指定します。

h = {:ab => "some" , :cd => "all"}
p h[:ab] #=> "some"
p h[:ef] #=> nil

h1 = Hash.new("default value")
p h1[:non...
...] #=> "default value"

h2 = Hash.new {|*arg| arg}
p h2[:non] #=> [{}, :non]

@see Hash.new, Hash#fetch,Hash#values_at,Hash#has_key?, Hash#default, Hash#default_proc...
<< 1 2 3 ... > >>