Hatena::Grouprubyist

雲雀は高く空を舞い RSSフィード

 | 

2007-06-07

ハッシュ (2) 10:21 ハッシュ (2) - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - ハッシュ (2) - 雲雀は高く空を舞い ハッシュ (2) - 雲雀は高く空を舞い のブックマークコメント

Rubyレシピブックより。

Ruby本を読んだほうがいいのかも。

要素の追加 Hash#store

h = Hash.new
h.store("MacBookPro", "2007June")
p h #=> {"MacBookPro", "2007June"}

ハッシュ内にキーが存在するか Hash#key?

h = {"a" => "nill}

p h.key?("a") #=> true
p h.key?("b") #=> false

ハッシュの要素を削除 Hash#delete

h = {"a" => "b"}
p h  #=> {"a" => "b"}
p h.delete("a") #=> "b"
p h  #=> {}

ハッシュの条件を満たす要素を削除 Hash#delete_if, Hash#reject!, Hash#reject

Hash#delete_ifHash#reject!は同じ動作。Hash#rejectは該当する要素を削除して新たなハッシュを作る。

h = {"a" => 10,"b" => 15,"c" => 100}

h2  = h.reject{|key, value|
  value%10 == 0
}
p h2 #=> {"b" => 15}
p h  #=> {"a" => 5, "b" => 15, "c" => 100}

h3  = h.reject!{|key, value|
  value%10 == 0
}
p h3 #=> {"b" => 15}
p h  #=> {"b" => 15}

ハッシュの全要素を削除 Hash#clear

h = {"a" => 10,"b" => 15,"c" => 100}

h.clear
p h |=> {}
 |