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

我有以下循环:

(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

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

xzj700106 回答:Ruby:在步骤循环中将变量用作范围

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

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

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

本文链接:https://www.f2er.com/3166151.html

大家都在问