るりまサーチ

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

ライブラリ

キーワード

検索結果

<< < 1 2 3 4 ... > >>

Hash#default_proc -> Proc | nil (1.0)

ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

...い場合 nil を返します。

h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"

h = Hash.new("default")
p h.default...
...#=> "default"
p h.default_proc #=> nil

@see Hash#default...

Hash#default_proc=(pr) (1.0)

ハッシュのデフォルト値を返す Proc オブジェクトを 変更します。

...ハッシュのデフォルト値を返す Proc オブジェクトを
変更します。

以前のデフォルトは値(Hash#default)の場合も
Proc の場合(Hash#default_proc)でも上書きされます。

引数には to_proc で Proc オブジェクトに変換できる
オブジェクト...
...も受け付けます。


@param pr デフォルト値を返す手続きオブジェクト

例:
h = {}
h.default_proc = proc do |hash, key|
hash
[key] = case
when (key % 15).zero?
"FizzBuzz"
when (key % 5).zero?
"Buzz"...
...p h[3] # => "Fizz"
p h[5] # => "Buzz"
p h[15] # => "FizzBuzz"

h.default_proc = nil
p h[16] # => nil
# default_proc が nil になったので `16=>16 が追加されていない`
p h # => {1=>1, 2=>2, 3=>"Fizz", 5=>"Buzz", 15=>"FizzBuzz"}

@see Hash#default_proc, Hash#default...
...前のデフォルトは値(Hash#default)の場合も
Proc の場合(Hash#default_proc)でも上書きされます。

引数には to_proc で Proc オブジェクトに変換できる
オブジェクトも受け付けます。

nil を指定した場合は現在の Hash#default_proc をクリア...
...します。

@param pr デフォルト値を返す手続きオブジェクト

例:
h = {}
h.default_proc = proc do |hash, key|
hash
[key] = case
when (key % 15).zero?
"FizzBuzz"
when (key % 5).zero?
"Buzz"...

Hash#delete(key) -> object | nil (1.0)

key に対応する要素を取り除きます。

...key にマッチする要素がなかった時に評価され、その結果を返します。

h = {:ab => "some" , :cd => "all"}

p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{key} Nothing"} #=> "ef Nothing"

p h #=> {:cd=>"all"}

@see Hash#delete_if...

Hash#delete(key) {|key| ... } -> object (1.0)

key に対応する要素を取り除きます。

...key にマッチする要素がなかった時に評価され、その結果を返します。

h = {:ab => "some" , :cd => "all"}

p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{key} Nothing"} #=> "ef Nothing"

p h #=> {:cd=>"all"}

@see Hash#delete_if...

Hash#delete_if -> Enumerator (1.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

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

@see Hash#reject,Hash#delete
@see Hash#keep_if,Hash#select!...

絞り込み条件を変える

Hash#delete_if {|key, value| ... } -> self (1.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

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

@see Hash#reject,Hash#delete
@see Hash#keep_if,Hash#select!...

Hash#dig(key, ...) -> object | nil (1.0)

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。

@param key キーを任意個指定します。

h = { foo: {bar: {baz: 1}}}

h.dig(:foo, :bar, :baz) # => 1
h.dig(:foo, :zot, :xyz) # => nil

g = { foo: [10, 11, 12] }
g.dig(:foo, 1) # => 11

@see Array#dig, S...

Hash#dup -> Hash (1.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#each -> Enumerator (1.0)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>

@see Hash#each_key,Hash#each_value...

Hash#each {|key, value| ... } -> self (1.0)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>

@see Hash#each_key,Hash#each_value...

絞り込み条件を変える

Hash#each_key -> Enumerator (1.0)

ハッシュのキーを引数としてブロックを評価します。

...が追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。

{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b

p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>

@see Hash#each_pair,Hash#each_value...

Hash#each_key {|key| ... } -> self (1.0)

ハッシュのキーを引数としてブロックを評価します。

...が追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。

{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b

p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>

@see Hash#each_pair,Hash#each_value...

Hash#each_pair -> Enumerator (1.0)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>

@see Hash#each_key,Hash#each_value...

Hash#each_pair {|key, value| ... } -> self (1.0)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>

@see Hash#each_key,Hash#each_value...

Hash#each_value -> Enumerator (1.0)

ハッシュの値を引数としてブロックを評価します。

...が追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。

{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
2

p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>

@see Hash#each_pair,Hash#each_key...

絞り込み条件を変える

<< < 1 2 3 4 ... > >>