種類
- インスタンスメソッド (54)
- 特異メソッド (4)
ライブラリ
- ビルトイン (58)
キーワード
- [] (3)
- []= (1)
- assoc (1)
- default (2)
-
default
_ proc (1) -
default
_ proc= (1) - delete (2)
-
delete
_ if (2) - dig (1)
- each (2)
-
each
_ key (2) -
each
_ pair (2) -
each
_ value (2) - fetch (1)
-
fetch
_ values (2) -
has
_ key? (1) -
has
_ value? (1) - include? (1)
- index (1)
- invert (1)
-
keep
_ if (2) - key (1)
- key? (1)
- keys (1)
- member? (1)
- merge (2)
- merge! (2)
- reject (2)
- reject! (2)
- select (2)
- select! (2)
- shift (1)
- sort (2)
- store (1)
- update (2)
- value? (1)
-
values
_ at (1)
検索結果
先頭5件
-
Hash
# key(val) -> object (108397.0) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
...。
Hash#index は obsolete です。
使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
h = {:ab => "some" , :cd => "all" , :ef => "all"}
p h.key("some") #=> :ab
p h.key("all") #=> :cd
p h.key("at") #=> nil
@see Hash#inv... -
Hash
# has _ key?(key) -> bool (81742.0) -
ハッシュが key をキーとして持つ時真を返します。
...ます。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# key?(key) -> bool (81742.0) -
ハッシュが key をキーとして持つ時真を返します。
...ます。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# each _ key {|key| . . . } -> self (81703.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 -> Enumerator (81403.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
# keys -> [object] (81340.0) -
全キーの配列を返します。
...全キーの配列を返します。
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.keys #=> ["a", 2, :c]
@see Hash#values,Hash#to_a... -
Hash
# include?(key) -> bool (72442.0) -
ハッシュが key をキーとして持つ時真を返します。
...ます。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# member?(key) -> bool (72442.0) -
ハッシュが key をキーとして持つ時真を返します。
...ます。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
. new {|hash , key| . . . } -> Hash (64249.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
# fetch(key , default = nil) {|key| . . . } -> object (63802.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
...exist"
"#{key} not exit" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
@see Hash#[]... -
Hash
# delete(key) {|key| . . . } -> object (63769.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
. [](*key _ and _ value) -> Hash (63766.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) {|key , self _ val , other _ val| . . . } -> Hash (63739.0) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージした結......to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end
h = {:Germany => 'Berlin',
:Australia => 'Canberra',
:France => 'Paris'
}
# 暗黙の変換
p h.merge(Foo.new) # => {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}
//}
@see Hash#update,Hash#r... -
Hash
# reject {|key , value| . . . } -> Hash (63718.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
# fetch _ values(key , . . . ) { |key| . . . } -> [object] (63667.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
..."feline", "dog" => "canine", "cow" => "bovine" }
h.fetch_values("cow", "cat") # => ["bovine", "feline"]
h.fetch_values("cow", "bird") # raises KeyError
h.fetch_values("cow", "bird") { |k| k.upcase } # => ["bovine", "BIRD"]
@see Hash#values_at, Hash#fetch... -
Hash
# select {|key , value| . . . } -> Hash (63658.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 (63589.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... -
Hash
# default(key) -> object | nil (63523.0) -
ハッシュのデフォルト値を返します。
...nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と......。
h = Hash.new("default")
p h.default #=> "default"
p h.default(:some) #=> "default"
p h #=>{}
h = Hash.new{|hash, key| hash[key] ="default" }
p h.default #=> nil
p h.default(:some) #=> "default"
p h #=> {:some=>"default"}
h = Hash.new
p h.de......fault #=> nil
p h.default(:some) #=> nil
p h #=> {}
@see Hash#default=, Hash#default_proc... -
Hash
# delete _ if {|key , value| . . . } -> self (63490.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
# reject! {|key , value| . . . } -> self|nil (63490.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
. new(ifnone = nil) -> Hash (63484.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
# delete(key) -> object | nil (63469.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
# invert -> Hash (63451.0) -
値からキーへのハッシュを作成して返します。
...備えて、変換後の値を配列として保持するには、次のようにします。
//emlist[][ruby]{
def safe_invert(orig_hash)
orig_hash.each_key.group_by do |key|
orig_hash[key]
end
end
p safe_invert({"a"=>1, "b"=>1, "c"=>3}) # => {1=>["a", "b"], 3=>["c"]}
//}
@see Hash#key... -
Hash
# merge(other) -> Hash (63439.0) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージした結......to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end
h = {:Germany => 'Berlin',
:Australia => 'Canberra',
:France => 'Paris'
}
# 暗黙の変換
p h.merge(Foo.new) # => {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}
//}
@see Hash#update,Hash#r... -
Hash
# []=(key , value) (63430.0) -
key に対して value を関連づけます。value を返し ます。
...@param key キーを指定します。
@param value 値を指定します。
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
@see Hash#[]... -
Hash
# store(key , value) -> object (63430.0) -
key に対して value を関連づけます。value を返し ます。
...@param key キーを指定します。
@param value 値を指定します。
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
@see Hash#[]... -
Hash
# assoc(key) -> Array | nil (63391.0) -
ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペア を配列として返します。
ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペア
を配列として返します。
キーの同一性判定には eql? メソッドではなく == メソッドを使います。
key が見つからなかった場合は、nil を返します。
@param key 検索するキー
h = {"colors" => ["red", "blue", "green"],
"letters" => ["a", "b", "c" ]}
h.assoc("letters") #=> ["letters", ["a", "b", "c"]]
h.assoc("foo") ... -
Hash
. [](other) -> Hash (63391.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
# merge!(other) {|key , self _ val , other _ val| . . . } -> self (63382.0) -
selfとotherのハッシュの内容をマージ(統合)します。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のself......'B', 3 => 'C', 4 => 'D'}
p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
//}
@see Hash#merge!... -
Hash
# update(other) {|key , self _ val , other _ val| . . . } -> self (63382.0) -
selfとotherのハッシュの内容をマージ(統合)します。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のself......'B', 3 => 'C', 4 => 'D'}
p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
//}
@see Hash#merge!... -
Hash
# values _ at(*keys) -> [object] (63376.0) -
引数で指定されたキーに対応する値の配列を返します。
...します。
引数が指定されなかった場合は、空の配列を返します。
h = {1=>"a", 2=>"b", 3=>"c"}
p h.values_at(1,3,4) #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ
@see Hash#[] , Hash.new, Hash#default, Hash#default_proc, Array#values_at... -
Hash
# fetch _ values(key , . . . ) -> [object] (63367.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
..."feline", "dog" => "canine", "cow" => "bovine" }
h.fetch_values("cow", "cat") # => ["bovine", "feline"]
h.fetch_values("cow", "bird") # raises KeyError
h.fetch_values("cow", "bird") { |k| k.upcase } # => ["bovine", "BIRD"]
@see Hash#values_at, Hash#fetch... -
Hash
# each {|key , value| . . . } -> self (63364.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 (63364.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
# keep _ if {|key , value| . . . } -> self (63364.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# select! {|key , value| . . . } -> self | nil (63364.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# dig(key , . . . ) -> object | nil (63325.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
# default _ proc=(pr) (63238.0) -
ハッシュのデフォルト値を返す Proc オブジェクトを 変更します。
...前のデフォルトは値(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"......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 -> object | nil (63223.0) -
ハッシュのデフォルト値を返します。
...nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と......。
h = Hash.new("default")
p h.default #=> "default"
p h.default(:some) #=> "default"
p h #=>{}
h = Hash.new{|hash, key| hash[key] ="default" }
p h.default #=> nil
p h.default(:some) #=> "default"
p h #=> {:some=>"default"}
h = Hash.new
p h.de......fault #=> nil
p h.default(:some) #=> nil
p h #=> {}
@see Hash#default=, Hash#default_proc... -
Hash
# delete _ if -> Enumerator (63190.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
# reject! -> Enumerator (63190.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
# shift -> [object , object] (63142.0) -
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、 [key, value]という配列として返します。
...す。selfは要素を取り除かれた残りのハッシュに変更されます。
ハッシュが空の場合、デフォルト値(Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil)
を返します(このとき、[key,value] という形式の値......[:cd, "all"]
p h #=> {}
p h.shift #=> nil
h1 = Hash.new("default value")
p h1 #=> {}
p h1.shift #=> "default value"
h2 = Hash.new {|*arg| arg}
p h2 #=> {}
p h2.shift #=> [{}, nil]... -
Hash
# default _ proc -> Proc | nil (63130.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
# reject -> Enumerator (63118.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
# index(val) -> object (63097.0) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
...。
Hash#index は obsolete です。
使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
h = {:ab => "some" , :cd => "all" , :ef => "all"}
p h.key("some") #=> :ab
p h.key("all") #=> :cd
p h.key("at") #=> nil
@see Hash#inv... -
Hash
# merge!(other) -> self (63082.0) -
selfとotherのハッシュの内容をマージ(統合)します。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のself......'B', 3 => 'C', 4 => 'D'}
p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
//}
@see Hash#merge!... -
Hash
# update(other) -> self (63082.0) -
selfとotherのハッシュの内容をマージ(統合)します。
...の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のself......'B', 3 => 'C', 4 => 'D'}
p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo # => {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
//}
@see Hash#merge!... -
Hash
# each -> Enumerator (63064.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 -> Enumerator (63064.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
# keep _ if -> Enumerator (63064.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# select! -> Enumerator (63064.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# each _ value -> Enumerator (63058.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... -
Hash
# each _ value {|value| . . . } -> self (63058.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... -
Hash
# select -> Enumerator (63058.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
# sort -> Array (63052.0) -
ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー トした配列を返します。
ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー
トした配列を返します。
h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]]
@see Array#sort -
Hash
# sort {|a , b| . . . } -> Array (63052.0) -
ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー トした配列を返します。
ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー
トした配列を返します。
h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]]
@see Array#sort -
Hash
# has _ value?(value) -> bool (63040.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
...@param value 探索する値を指定します。
p({1 => "one"}.has_value?("one")) #=> true
p({1 => "one"}.has_value?("two")) #=> false
@see Hash#has_key?... -
Hash
# value?(value) -> bool (63040.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
...@param value 探索する値を指定します。
p({1 => "one"}.has_value?("one")) #=> true
p({1 => "one"}.has_value?("two")) #=> false
@see Hash#has_key?...