LoginSignup
0
0

More than 1 year has passed since last update.

引数とハッシュを使って要素を取り出す

Last updated at Posted at 2022-12-28

問題

ある映画のハッシュを定義し、格納されている
「title」(タイトル)・「genre」(ジャンル)・「year」(公開年)の三つの要素の中から
一つを取り出すプログラムを作成してください。

定義する変数
movie = {"title" => "ハリーポッター", "genre" => "ファンタジー", "year" => "2001年"}

②ユーザーが入力するキーを、getsメソッドを利用し定義しましょう

模範解答

def movie_info(movie, data)
  puts movie[data]
end

movie = {"title" => "ハリーポッター", "genre" => "ファンタジー", "year" => "2001年"}

puts "以下から一つを選んで入力してください。
  ・title
  ・genre
  ・year"

info = gets.chomp

movie_info(movie, info)

解答

まず、ハッシュ名[キー名]と記述する事で、
そのキーに対応するバリューを取り出す事ができる。

例えばキーである「title」を指定した場合、
対応するバリュー「ハリーポッター」が取り出される。
今回の場合では、movie["title"]はハリーポッターと取り出される。

このようにハッシュからバリューを取り出すには上記のように記述して取り出すが、
キーが文字列の場合は、キーをシンボルに変更しないといけない。

従って、文字列をシンボルに変換する記述が必要である。

info = gets.chomp.to_sym

to_symメソッドを用いて、返り値を文字列からシンボルに変換している。

まとめ

ハッシュの定義方法によってバリューの取り出し方は異なる事を意識していく。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0