質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

3回答

604閲覧

【Ruby】ハッシュからデータを取り出す

taiseii

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2020/10/20 04:38

前提・実現したいこと

オンライン学習にてハッシュからデータを取り出すためのコードを書いています。
しかし、ハッシュのキーを入力しても全てelseの分岐に入ってしまい困っています。

発生している問題・エラーメッセージ

分岐が全てelseに入ってしまう

該当のソースコード

Ruby

1goods = { 2 coca_cola: 150, 3 weekly_shonen_jump: 300 4} 5key = gets.chomp.to_sym 6if key == 'coca_sola' 7 puts goods[:coca_cola] 8elsif key == 'weekly_shonen_jump' 9 puts goods[:weekly_shonen_jump] 10else 11 puts "商品がありません" 12end

試したこと

Ifのところをを「if key == goods[:coca_cola]」に変更してみたりしたがうまく動作しなかった

補足情報(FW/ツールのバージョンなど)

Ruby 2.6.3 です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

if key == 'coca_sola' を
if key == :coca_sola
にしてください。(ほかも同様)

投稿2020/10/20 06:18

tatsu99

総合スコア5493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taiseii

2020/10/24 08:48

ありがとうございます! 無事、解決しました!
guest

0

ベストアンサー

最初にkey = gets.chomp.to_symとしているので、keyシンボルです。文字列の'coca_sola''weekly_shonen_jump'とは一致しません。

そして、入っているものを探すだけであれば条件分岐は不要です。

ruby

1goods = { 2 coca_cola: 150, 3 weekly_shonen_jump: 300 4} 5key = gets.chomp.to_sym 6puts goods.fetch(key, '商品がありません')

投稿2020/10/20 06:11

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taiseii

2020/10/20 06:15

ありがとうございます! 課題解決することができました!
guest

0

key = gets.chomp.to_sym
print(key)

として、 key の値を確認してみてください、
または、 debagger の使い方を学習して、 key の値をしらべてみてください。
デバッグ方法は、google で
ruby デバッグ 方法
で検索してみてください。

投稿2020/10/20 22:29

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taiseii

2020/10/24 08:48

ありがとうございます! 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問