うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

rubyで降順forループを実現する

スポンサーリンク

rubyでは、cとかの降順にインデックスを走査する

for (i = n - 1; i > 0; i--) printf("%d", i)

ってどうやるの、と思い、考えて見ました。

  • ベスト?
(n-1).downto(0).each { |i|
  p i
}
(0..(n-1)).to_a.reverse_each { |i|
  p i
}

2017/01/26 追記 ご指摘いただき治しました。以下文は動作しません。

* 配列を生成する手間がある。

((0..(n-1)).to_a).reverse { |i|
  p i
}

  • 配列がもともとある場合、以下の方法も可能。
[0,1,2,3,4].reverse_each { |i|
  p i
}