【Ruby】search,each_with_index
本日、学習中のRubyドリル問題で引っかかった点をアウトプットします!
問題.以下の配列から数を探して何番目に含まれているか
結果を返すメソッドをsearchとeach_with_indexを用いて作成しなさい
input = [3, 5, 9, 12, 15, 21, 29, 35, 42]
↓答えはこちら↓
この時私は「if文なのでelseを使おう!」と思ってしまったわけなのですが、
ここでelseを用いてしまうとうまくいきません。
解説.
答えは単純なのですが、elseを用いてしまうと
の部分でfalseとなった時点で「return false」をしてしまうためです。
問題の通りに出力したい場合
target_num(目的の数)が見つかった時点でtrueを返して終了
もしくは
目的の数が見つからなければeachループが終わった時点でfalseを返す
というメソッドを作成しなければいけないのです・・・!
またひとつ、賢くなれた朝でした・・・