RubyのハッシュはPerlの無名ハッシュと似ています。
sample.rb
hash = {
"alice" => 1,
"bob" => 2,
}
p hash["alice"]
hash["alice"] *= 2
p hash["alice"]
出力例
$ ruby sample.rb
1
2
Keyの部分を以下のように記述することもできます。
hash = {
alice: 10,
bob: 20,
}
p hash[:alice]
配列の場合と同様にハッシュ同士の比較は全要素が等しい場合にtrueを返します。
配列の場合と同様にsizeなどがあります。また、Perlと同じようにkeysメソッドがあります。
sample.rb
hash = {
alice: 10,
bob: 20,
}
hash.each do |key,val|
puts "#{key} is #{val} years old."
end
出力例
$ ruby sample.rb
alice is 10 years old.
bob is 20 years old.
配列の場合と同様にmapが実装されています。
sample.rb
hash = {
alice: 10,
bob: 20,
}
array = hash.map{|key,val| "#{key} is #{val} years old."}
p array
出力例
$ ruby sample.rb
["alice is 10 years old.", "bob is 20 years old."]