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
的结尾链接起来。