このコードを実行するたびに、最初の試行で0より大きい整数を入力しても、「INTEGER GREATER THAN 0」というプロンプトが表示されます。私がverifyメソッドで達成しようとしているのは、入力が0より大きい整数だけを受け入れ、何か他のものを入れた場合、 "INTEGER GREATER THAN 0"を促すということです。どんな助けもありがとう。メソッドを使用してユーザー入力を0より大きい整数に制限するにはどうすればよいですか?
def verify(input)
puts "please input an integer > 0"
input = gets.chomp
while input == 0 || input.class != Fixnum
puts "INTEGER GREATER THAN 0"
input = gets.chomp!.to_i
end
end
puts "for your first number:"
num_1 = verify(num_1)
puts "for your second number:"
num_2 = verify(num_2)
def div(num_1, num_2)
num_1/num_2
end
def rem(num_1,num_2)
num_1 % num_2
end
puts "#{num_1.to_s} divided by #{num_2.to_s} is #{div(num_1, num_2)} remainder #{rem(num_1,num_2)}"
'gets'は文字列を返します。数にキャストする。 'input = gets.to_i' –
除算、陽性および余りの方法はすでに存在します。 'a%b'≠' a.remainder b 'にも注意してください。 –