#16 Rubyで学ぶ辞書型(マップ)の基本
Rubyで名前と値の組み合わせを扱うには、「ハッシュ」と呼ばれる仕組みを使います。この記事では、Rubyにおける辞書に相当する使い方を解説します。
ハッシュを作ってみる
scores = { "太郎" => 90, "次郎" => 85 }
キーがシンボル(以前の記事で触れた`:name`のような値)の場合は、より簡潔に書けます。
person = { name: "太郎", age: 20 }
値を取り出す
puts scores["太郎"]
puts person[:name]
存在しないキーへの対応
存在しないキーにアクセスすると`nil`が返ります。`fetch`を使うと、存在しない場合にエラーにするか、既定値を指定するかを選べます。
puts scores.fetch("三郎", 0)
全てのキーと値を順に処理する
scores.each do |name, score|
puts "#{name}: #{score}"
end
Rubyならではの注意点
文字列のキー(`"name" => `)とシンボルのキー(`name: `)は、見た目は似ていますが別のものとして扱われます。`person["name"]`と`person[:name]`は異なる結果になるため、どちらのキーで作ったハッシュかを意識しましょう。
まとめ
Rubyのハッシュ(辞書)は`{}`で作り、文字列またはシンボルをキーにできます。2つのキーの書き方の違いに注意しましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Rubyをもっと学びたい方には「プロを目指す人のためのRuby入門[改訂2版]」がおすすめです。
コメント
コメントを投稿