るりまサーチ

最速Rubyリファレンスマニュアル検索!
48件ヒット [1-48件を表示] (0.113秒)
トップページ > クエリ:p[x] > 種類:特異メソッド[x] > クラス:Hash[x]

別のキーワード

  1. openssl p
  2. openssl p=
  3. fileutils mkdir_p
  4. dh p
  5. rsa p

ライブラリ

キーワード

検索結果

Hash.new {|hash, key| ... } -> Hash (94.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] #=> "foobar"

p
h[2] #=> "foobar"
p
h[2].object_id #=> 6127170

p
h #=> {}...
...なります。
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[1] #=> "foobar"

p
h[2] #=> "foo"
p
h[2].object_id #=> 6126840

p
h...

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

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

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

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

デフォルト値として、毎回同一のオブジェクトifnoneを返します...
...= Hash.new([])
h[0] << 0
h[1] << 1
p
h.default #=> [0, 1]
//}

これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁止しておくのが無難です。


@pa...
...[例][ruby]{
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([].freeze)...

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

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

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

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

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

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

//emlist[][ruby]{
h = {1 => "value"}
h.default = "none"

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

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

h[:add] = "some"
p
h #=> {1=...
...>"value", :add=>"some"}
p
g #=> {1=>"value"}

h[1] << 'plus' #破壊的操作
p
h #=> {1=>"valueplus", :add=>"some"}
p
g #=> {1=>"valueplus"}
//}...

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

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

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

@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数個(0を含む)指定しな...
...[][ruby]{
ary = [1,"a", 2,"b", 3,["c"]]
p
Hash[*ary] # => {1=>"a", 2=>"b", 3=>["c"]}
//}

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

//emlist[][ruby]{
alist = [[1,"a"], [2,"b"], [3,["c"]]]
p
alist.flatten(1) # => [1, "a", 2, "b", 3, ["c"]]
p
Hash[*alist.flatten(1)] # => {1=>"a", 2=>"...
...= keys.zip(vals) # あるいは alist = [keys,vals].transpose
p
alist # => [[1, "a"], [2, "b"], [3, ["c"]]]
p
Hash[alist] # => {1=>"a", 2=>"b", 3=>["c"]}
//}

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

//emlist[][ruby]{
alist = [[1,["a"]], [2,["b"]], [3,["c"]], [[4,5], ["a", "b"]]]
hash
= Hash[alist]...