Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:将输入作为循环范围_Ruby - Fatal编程技术网

Ruby:将输入作为循环范围

Ruby:将输入作为循环范围,ruby,Ruby,这是给语法错误` “:范围的值不正确(ArgumentError)。为获得a=3的输出,应改进什么 a = $stdin.read for i in 0..(a) puts "Hi" end 您必须将字符串转换为整数(.to_i) 注意:首选使用: 错误是因为a是一个字符串,您可以通过以下方法将其设置为整数: a.to_i.times { puts "Hi" } 您需要使用一个整数,否则会得到ArgumentError。这将接受您的输入并确保可以将其转换为整数。您可以阅读有关该方法的详细信息

这是给语法错误` “:范围的值不正确(ArgumentError)。为获得a=3的输出,应改进什么

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

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

注意:首选使用:


错误是因为
a
是一个字符串,您可以通过以下方法将其设置为整数:

a.to_i.times { puts "Hi" }

您需要使用一个整数,否则会得到
ArgumentError
。这将接受您的输入并确保可以将其转换为整数。您可以阅读有关该方法的详细信息

a = a.to_i

a
最初是
String
:未定义“3”的方法“times”:当use timesa是一个数字时,String(NoMethodError)例如3a肯定是一个字符串,您需要阅读关于
read
如何从stdin获取整数或如何在从stdin读取字符串后立即将其转换为整数的文档不是语法错误。当您传递错误或意外的参数时,会引发此问题。语法正确。ArgumentError绝对不是语法错误,也不是语法错误。这确实是一个参数错误。你希望用
a
的值来衡量什么?你没有显示预期的输入,因此你的问题实际上很难在你得到的错误之外进行解读,但是你得到的错误实际上非常清楚。我只想打印“Hi”一次,所以如果a是3,打印Hi 3次不,我想把输入作为3这样的整数,然后打印Hi 3次这是一个比你实际显示的更好的问题。非常具体。
a = a.to_i
a = Integer($stdin.read)
for i in 0..(a)
  puts "Hi"
end