質問よろしくお願いいたします。
前提・実現したいこと
Ruby
で数字以外を入力した場合、定めたメッセージが繰り返されるよう無限ループさせたい。
以下がそのコードです。
#数字を入力するまで無限ループが続く loop do puts "本日のプログラミング学習時間を数字で入力してください" time = gets.to_i break if nil != (time =~ /\A[0-9]+\z/) end
発生している問題・エラーメッセージ
数字を入力しても無限に puts~ のメッセージが繰り返され、 break
しない。
MacBook-Air:study_time $ ruby main.rb 本日のプログラミング学習時間を数字で入力してください 1 本日のプログラミング学習時間を数字で入力してください ~~~~~~
試したこと
while true do ~ end
にしてみたり、break if time =~ /\A[0-9]+\z/
にして実行してみたが目的の動作にならない
補足情報(FW/ツールのバージョンなど)
ruby 2.6.2
どうすればブレイクするのか、ぜひアドバイス頂ければと思います。
どうぞよろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/01 12:56
2019/11/01 13:10
2019/11/01 13:13 編集
2019/11/01 13:20
2019/11/01 13:30
2019/11/01 13:38 編集
2019/11/01 13:45
2019/11/01 13:48
2019/11/01 13:55