質問: ["たろう", "はなこ", "じろう", "たまこ"] list.each do |name| name =~ /たろう|じろう/ ? puts "「#{name}」は「男性」です" : puts "「#{name}」は「女性」です" end ``` ### 試したこと 正規表現 =~ を使用し、eachで取り出した変数nameに該当文字列が含まれる場合の条件分岐を試したが表示されず。 if文に当てはめると問題なく表示されるため、演算子を複数使用していることが問題なのでしょうか? リファレンスより、? : より =~ が優先順位が高いと記載されていましたが、併用ができないという理解でよろしいのでしょうか? ### 表示させたい実行結果 「たろう」は「男性」です 「はなこ」は「女性」です 「じろう」は「男性」です 「たまこ」は「女性」です
回答: putsひとつでいけるよね。 ``` list = ["たろう", "はなこ", "じろう", "たまこ"] list.each do |name| puts("「#{name}」は「#{name =~ /たろう|じろう/ ? '男性' : '女性'}」です") end ```