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

2013年8月31日土曜日

Ruby

t f B! P L
Rubyのハッシュは基本中の基本なので、
復習もかねて機能をまとめて見ました。

初期化

hash1 = Hash.new
hash2 = {}
puts hash #=> {}

初期化

hash1 = Hash.new
hash2 = {}
puts hash1 #=> {}
puts hash2 #=> {}

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

キーから値を取得

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

# Hash#fetchでも取得可能。第二引数にデフォルト値が設定できる
puts hash.fetch("うえだじろう") #=> 35
puts hash.fetch("やまだなおこ", 20) #=> 20

要素を追加

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

# Hash#storeでも要素を追加可能。
hash.store("やべけんたろう") #=> 32
puts hash["べけんたろう"] #=> 32

キーが存在するか判定

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

要素数を取得

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

要素をループ

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

#each_keyでキーをループ
hash.each_key {|key|
  puts key
}
#=> "やまだたろう"
#=> "たかなさぶろ"
#=> "うえだじろう"

#each_valueで値をループ
hash.each_value {|value|
  puts value
}
#=> 20
#=> 18
#=> 35

hash.each_pair {|key, value|
  puts "#{key}:#{value}"
}

#=> "やまだたろう:20"
#=> "たかなさぶろ:18"
#=> "うえだじろう:35"

配列に変換

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

# keyでキーの配列
puts hash.key #=> ["やまだたろう","たかなさぶろ","うえだじろう"]

# valueで値の配列
puts hash.value #=> [20,18,35]

クリア

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

hash.clear

puts hash #=> {}

マージ

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

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

Translate

このブログを検索

フォロワー

QooQ