自分用のメモとして今回はinclude?で文字列判定後にtureやfalseを返すのではなく、任意の好きな文字(好物です、まぁまぁ好きですなど)を返す方法をメモとしてここに残します。
##なぜinclude?で文字列判定後に好きな反応を返したいと思ったか?
foods = %w(ハンバーグ チキンライス とんこつラーメン しゃけ 味噌ラーメン 魚介系ラーメン うに丼)
上の配列の各要素で、 ラーメン という文字が含まれる場合は「好物です」と表示し、そうでなければ「まぁまぁ好きです」と出力せよ
↑このような問題を解くためです。
最初は条件分岐で処理しようと考えたのですが、文字列を判定するメソッドがあるとのことでinclude?を採用した次第です。
##include?後に好きな反応を返すために記述したコード
foods.each do |food|
puts food.include?("うに") ? "#{food}:好物です" : "#{food}:まぁまぁ好きです"
end
↑今回はこの記述で対応しました。
eachで格要素をfoodに入れつつinclude?で("うに")が文字列に含まれるのかを判定します。
ここで、puts food.include?("うに")のままだとtrueかfalseが返ってきます。
ですが、その後に ? "#{food}:好物です" : "#{food}:まぁまぁ好きです" を加えることで思った反応を得ることができました!