種類
- インスタンスメソッド (39)
- 特異メソッド (12)
ライブラリ
- ビルトイン (51)
検索結果
先頭5件
-
Hash
. new {|hash , key| . . . } -> Hash (62437) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値は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 (62312) -
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
...one はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値は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 (21160) -
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
...値になります。
このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
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=>"a", 2=>"b", 3=>"c"}
(3) キーと値の配列......keys.zip(vals) # あるいは alist = [keys,vals].transpose
p Hash[*alist.flatten] # => {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"]}......, ...] の配列からハッシュへ
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 (21151) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......"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 (21151) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......"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
# invert -> Hash (21138) -
値からキーへのハッシュを作成して返します。
...。
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#index......。
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
. [](other) -> Hash (21130) -
新しいハッシュを生成します。 引数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
# [](key) -> object | nil (21097) -
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 -> object | nil (21085) -
ハッシュのデフォルト値を返します。
...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
# default(key) -> object | nil (21085) -
ハッシュのデフォルト値を返します。
...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
# replace(other) -> self (21067) -
ハッシュの内容を other の内容で置き換えます。
...ます。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self......ace(bar)
p foo #=> {2=>"B", 3=>"C"}
zoo = {}
zoo = bar.dup
p zoo #=> {2=>"B", 3=>"C"}
class Foo
def to_hash
{:japan => 'kyoto'}
end
end
h = Hash.new
h.replace(Foo.new) #暗黙の変換
p h #=> {:japan=>"kyoto"}
@see Hash#dup,Hash#merge,Object#to_hash... -
Hash
# default _ proc -> Proc | nil (21055) -
ハッシュのデフォルト値を返す 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
# merge!(other) -> self (21051) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......"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| . . . } -> self (21051) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......"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
# shift -> [object , object] (21049) -
ハッシュから要素をひとつ取り除き、[key, value]という配列とし て返します。shiftがどの要素を返すかは不定です。
...す。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
# values _ at(*keys) -> [object] (21037) -
引数で指定されたキーに対応する値の配列を返します。
...します。
引数が指定されなかった場合は、空の配列を返します。
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
# clear -> self (21019) -
ハッシュの中身を空にします。
...ッシュの中身を空にします。
空にした後のselfを返します。
デフォルト値の設定はクリアされません。
h = Hash.new("default value")
h[:some] = "some"
p h #=> {:some=>"some"}
h.clear
p h #=> {}
p h.default #=> "default value"...
