Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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_Loops - Fatal编程技术网

Ruby:在步骤循环中使用变量作为范围

Ruby:在步骤循环中使用变量作为范围,ruby,loops,Ruby,Loops,我有以下循环: (10..30).step(10) do |i| #do something END 这很好,但我想使用一个变量来定义10..30范围,使其具有如下内容: if something == foo range = '10..30' else range = '40..60' end (range).step(10) do |i| #do something END 但是,此代码不运行。正确的方法是什么?不要将范围定义括在引号中。在引号中,定义的是字符串,而不

我有以下循环:

(10..30).step(10) do |i|
   #do something
END
这很好,但我想使用一个变量来定义
10..30
范围,使其具有如下内容:

if something == foo
  range = '10..30'
else
  range = '40..60'
end
(range).step(10) do |i|
   #do something
END

但是,此代码不运行。正确的方法是什么?

不要将范围定义括在引号中。在引号中,定义的是字符串,而不是范围。改为写:

if something == foo
  range = 10..30
else
  range = 40..60
end
range.step(10) do |i|
   #do something
end

(还修复了此代码段的其他一些小问题)。

指定
something=foo
是故意的,还是应该是比较(
something==foo
)?这很有效?怎样?您的工作代码也缺少
do
关键字。请参阅“”以及链接页面和。您的代码必须在语法上正确,我们才能帮助您。作为奖励,您可以省略
范围=
部分,只需将
if
结尾链接起来。