標準入力で入力された値をチェックしたい場合は、こう書くとできます。
check.rb
def is_num
loop do
print ">> "
i = $stdin.gets.chomp
return i if i =~ /^\d+$/
puts "数字で入力してください"
end
end
puts is_num + "が入力されました"
この例で言うと数字チェックですが、/^\d+$/
となっている正規表現の部分を変更することで、いろいろなチェックが可能になります。
コツとしては入力をloopで待ち受けることと、chompで入力された値の改行を取り除いておくことでしょうか。