【Ruby】 ハッシュのおさらい その2

2013年9月1日日曜日

Ruby

t f B! P L
Rubyのハッシュのおさらい その2です。
その1はこちら

ハッシュが空か判定

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.empty? #=> false
hash = {}
puts hash.empty? #=> true

キーが存在するか判定

#has_keyでも可能
hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.has_key?("やまだたろう") #=> true

#includeでも可能
puts hash.include?("やまだたろう") #=> true

#memberでも可能
puts hash.member?("やまだたろう") #=> true

値が存在するか判定

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.has_value?(20) #=> true

値をキーにキーを値に変換

#別のキーが同じ値を持っているときは1つだけ残る
hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35, "やまだなおこ"=>20}
puts hash.invert #=> {20=>"やまだたろう", 18>"たかなさぶろ"=, 35=>"うえだじろう"}

値を置換

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.replace("やまだたろう"=>50, "たかなさぶろ"=>8, "うえだじろう"=>15) #=> {"やまだたろう"=>50, "たかなさぶろ"=>8, "うえだじろう"=>15}

ハッシュを配列に変換(キー, 値, キー, 値)

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.flatten #=> {"やまだたろう",20, "たかなさぶろ", "うえだじろう", 35]

ソート

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.sort #=> [["うえだじろう", 35], ["たかなさぶろ", 18], ["やまだたろう", 20]]

条件に一致する要素を取得

hash = {"やまだたろう"=>20, "たかなさぶろ"=>18, "うえだじろう"=>35}
puts hash.select {|k, v| v >= 20 } #=> [["やまだたろう", 20], ["うえだじろう", 35]]

Translate

このブログを検索

フォロワー

QooQ