Menu
CoddyTech

ハッシュの作成

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 73/88。

配列は順序付きリストの保存に便利ですが、数値インデックスではなく、特定のラベルに値を対応付けたい場合もあります。ハッシュはキーと値のペアとしてデータを保存し、各キーが対応する値を指します。

ハッシュを作成するには、キーと値を中括弧で囲み、=>(ハッシュロケットと呼ばれます)で区切ります。

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person  # 出力: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}

ハッシュ内の各キーは一意でなければなりませんが、値は重複してもかまいません。キーと値には、文字列、数値、配列など、任意のデータ型を使用できます。

空のハッシュを作成して、後からペアを追加することもできます。

scores = {}

puts scores  # 出力: {}

ハッシュは、名前と価格を持つ商品や、メールアドレスとパスワードを持つユーザーのように、名前付き属性を持つ現実世界のオブジェクトを表すのに最適です。位置を覚えておく必要がある配列とは異なり、ハッシュでは意味のある名前を使ってデータを整理できます。

challenge icon

チャレンジ

簡単

入力を3行読み取ります。

  1. 本のタイトル(文字列)
  2. 著者名(文字列)
  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}

自分で試してみよう

# 入力を読み取る
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: ハッシュロケット構文 (=>) を使い、3つのキーと値のペアを持つ 'book' という名前のハッシュを作成する
# キーは "title", "author", "year" にする


# ハッシュを出力する
puts book
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ