ハッシュの作成
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 73/88。
配列は順序付きリストを格納するのに適していますが、数値インデックスではなく、特定のラベルに値を関連付ける必要がある場合があります。ハッシュはデータをキーと値のペアとして格納し、各キーは対応する値を指し示します。
ハッシュを作成するには、キーと値を => (ハッシュロケットと呼ばれます)で区切った波括弧を使用します:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # 出力: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}各キーはハッシュ内で一意である必要がありますが、値は重複しても構いません。キーと値は、文字列、数値、さらには配列を含む、あらゆるデータ型にすることができます。
空のハッシュを作成して、後からペアを追加することもできます:
scores = {}
puts scores # 出力: {}ハッシュは、名前と価格を持つ製品や、メールアドレスとパスワードを持つユーザーのように、名前付きの属性を持つ現実世界のオブジェクトを表現するのに最適です。位置を覚えておく必要がある配列とは異なり、ハッシュでは意味のある名前を使用してデータを整理できます。
チャレンジ
簡単3行の入力を読み込んでください:
- 本のタイトル (文字列)
- 著者名 (文字列)
- 出版年 (整数)
ハッシュロケット構文 (=>) を使用して、3つのキーと値のペアを持つ book という名前のハッシュを作成してください:
"title"を本のタイトルに対応させる"author"を著者名に対応させる"year"を出版年(整数として)に対応させる
puts を使用してハッシュを出力してください。
例えば、入力が Ruby Basics、Jane Smith、2023 の場合、出力は以下のようになります:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}入力が The Great Gatsby、F. Scott Fitzgerald、1925 の場合、出力は以下のようになります:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}入力が 1984、George Orwell、1949 の場合、出力は以下のようになります:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}チートシート
ハッシュはデータをキーと値のペアとして格納し、各キーは対応する値を指します。
ハッシュを作成するには、波括弧を使用し、キーと値を => (ハッシュロケット) で区切ります:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # 出力: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}各キーはハッシュ内で一意である必要がありますが、値は重複しても構いません。キーと値は、文字列、数値、配列など、任意のデータ型にすることができます。
空のハッシュを作成することもできます:
scores = {}
puts scores # 出力: {}自分で試してみよう
# 入力を読み込む
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: ハッシュロケット構文 (=>) を使用して、3つのキーと値のペアを持つ 'book' という名前のハッシュを作成する
# キーは "title"、"author"、"year" とすること
# ハッシュを出力する
puts bookこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。