Как написать отрицательный цикл в рубине, как для (я = индекс; я> = 0; я -) - PullRequest
38 голосов
/ 19 января 2012

Как мне написать цикл в Ruby с обратным отсчетом, похожий на следующий цикл в стиле C for?

for (i = 25; i >= 0; i--) { 
    print i;
}

Ответы [ 6 ]

54 голосов
/ 19 января 2012

Существует множество способов выполнить убывающий цикл в Ruby:

Первый способ:

for i in (10).downto(0)
  puts i
end

Второй способ:

(10).downto(0) do |i|
  puts i
end

Третий путь:

i=10;
until i<0
  puts i
  i-=1
end
25 голосов
/ 19 января 2012

В одну сторону:

25.downto(0) do |i|
  puts i
end
17 голосов
/ 19 января 2012

downto хорошо, но есть и более общий step.

25.step(0, -1){|i| puts i}
11 голосов
/ 19 января 2012

Попробуйте это:

25.downto(0) { |i| puts i }
3 голосов
/ 19 января 2012

На случай, если вы уже работаете с диапазоном:

rng = 0..6
rng.reverse_each { |i| p i }

РЕДАКТИРОВАТЬ - более кратко:

puts(rng.to_a.reverse)
2 голосов
/ 23 февраля 2012

Вот более простой:

(0..25).reverse_each { |i| print i }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...