Ruby: используйте переменную как диапазон в пошаговом цикле - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть следующий цикл:

(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

Однако этот код не запускается. Как правильно это сделать?

1 Ответ

2 голосов
/ 04 ноября 2019

Не заключать определение диапазона в кавычки. В кавычках вы определяете строки, а не диапазоны. Вместо этого напишите:

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

(также исправлены некоторые другие незначительные проблемы с этим фрагментом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...