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

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

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

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

Q&A

解決済

1回答

724閲覧

”ミニツク”模範解答のエラー【特定のデータを検索して返すsearchメソッドの定義?】

kazuki_user

総合スコア147

Ruby

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

0グッド

0クリップ

投稿2020/05/24 10:51

このプロフィールのデータを入れたデータ構造を作成してください。
そして、そのデータ構造から特定のデータを検索して返すsearchメソッドを定義してください。

という問いの模範解答(下記コード)をVS codeに反映したところ、何も起きませんでした。

エラーでしょうか?

特定のデータを検索して返すsearchメソッドを定義してください。

という問いの理解もイマイチできません。
どなたかご返信いただければ嬉しいです。

サイトへのリンクはこちら。

Ruby

1profiles = [ 2 {:name => "静岡 太郎", :age => 34, :address => "静岡県"}, 3 {:name => "名古屋 次郎", :age => 25, :address => "愛知県"}, 4 {:name => "大津 三郎", :age => 19, :address => "滋賀県"}, 5] 6 7def search(profiles, key, query) 8 profiles.each do |profile| 9 if query =~ profile[key] 10 return profile 11 end 12 end 13end 14 15search(profiles, :name, /静岡 太郎/)

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

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

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

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

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

guest

回答1

0

ベストアンサー

反映させるだけでは何も起きません
実行してください。
ruby file名

ただ、そのプログラムでは検索した結果を何もしてませんから、黙って終了ですね。

p search(profiles, :name, /静岡 太郎/)

などとして結果を表示させる様にするとはっきりします

投稿2020/05/24 14:03

winterboum

総合スコア23340

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

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

kazuki_user

2020/05/24 21:27 編集

そのように実行すると、結果が無事表示されました。 ところで1つ質問なのですが、if内で使われている『=~』は、正規表現の記号なのでしょうか? またその場合、if内で『/文字列/』をなぜ使わないのでしょうか。 searchメソッドの中の特にif文の内容がよく分からなくて... 是非ご返信いただければ幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問