質問: gets.to_i case a when 3..5 と打つと SyntaxError: (irb):2: syntax error, unexpected keyword_when when 3..5 で返ってきます ### 試したこと 構文エラーで返ってくるのは書籍の構文が間違いなのでしょうか? 自分で間違うには文も短いですし問題ないと思うのですが。。 ### 補足情報(言語/FW/ツール等のバージョンなど) * version ruby 2.3.0p0 * cloud9 irb使用 * Mac OS Sierra 10.12.5
回答: 質問者様のコードが ``` a = gets.to_i case a when 3..5 ``` だったならば ``` a = gets.to_i case a when 3..5 end ``` これで大丈夫かと。 書籍の例文は、実行できました。 追記 == ``` def season(a) case a when 3..5 then '春です' when 6..8 then '夏です' when 9..10 then '秋です' when 11, 1, 2 then '冬です' end end puts season(gets.to_i) ``` メソッド?にすればirbでも恐らくまとめて実行できます。