ハッシュ忘れてた。
何故かハッシュのお勉強を忘れてしまっていた。近頃、忘れっぽくて困る。今日はメガネをかけたまま顔を洗おうとしてしまった。
何はともあれハッシュの初期化。
hash = Hash.new hash["key1"] = 1 hash["key2"] = 2 p hash
結果。
{"key1"=>1, "key2"=>2}
まとめて初期化。
hash = { "key1" => 1, "key2" => 2 } p hash
結果。
{"key1"=>1, "key2"=>2}
同じ。
中身を列挙する。
for key, value in hash do printf("%s = %d?n", key, value) end hash.each do |key, value| printf("%s = %d?n", key, value) end
結果。どちらも同じ。
key1 = 1 key2 = 2
値を追加する。
hash = { "key1" => 1, "key2" => 2 } p hash hash["key3"] = 3 p hash
結果。
{"key1"=>1, "key2"=>2} {"key1"=>1, "key2"=>2, "key3"=>3}
初期化時の要注意。
hash1 = Hash.new p hash1["key1"] hash2 = Hash.new(0) p hash2["key1"]
結果。
nil 0
コンストラクタに引数を渡すと、valueの初期値となり、存在しないkeyの値を取得しようとすると、その値が返される。
- 作者: 広瀬雄二
- 出版社/メーカー: 技術評論社
- 発売日: 2006/01/13
- メディア: 単行本(ソフトカバー)
- クリック: 9回
- この商品を含むブログ (41件) を見る