Ruby:接受输入并将其作为循环范围

时间:2014-11-13 08:59:57

标签: ruby

a = $stdin.read
for i in 0..(a)
puts "Hi"
end

这给出了语法错误 ':范围的错误值(ArgumentError)。应该改进什么来获得a = 3的输出

Hi
Hi
Hi

3 个答案:

答案 0 :(得分:2)

错误是因为a是一个字符串,你可以通过以下方式使它成为整数:

a = a.to_i

答案 1 :(得分:0)

您必须将字符串转换为整数(.to_i)。

注意:更喜欢使用times

a.to_i.times { puts "Hi" }

答案 2 :(得分:0)

您需要使用整数,或者获得ArgumentError。这将接受您的输入并确保它可以转换为整数。您可以阅读有关详细信息的Kernel#Integer方法。

a = Integer($stdin.read)
for i in 0..(a)
  puts "Hi"
end