ループ処理で1つ前に戻るには

Rubyのループ処理で、一つ前のデータに戻りたい場合はどのようにすればいいのでしょうか。

どういうことかと言えば、each文で、次に行きたいときは、nextするかと思います。nextの逆をしたいということです。nextの逆なので、previousというメソッドでもあるのかと期待したのだが、そのようなメソッドはなさそうでした。

nextする時の例(参考)
3でnextするため、3がputsされません。

a = [1, 2, 3, 4, 5] a.each do |x| next if x == 3 puts x end

結果

1 2 4 5

やりたいことのイメージ

a = [1, 2, 3, 4, 5] a.each do |x| cnt += 1 previous if x == 3 && cnt == 3 puts x end

2で前のデータに戻るため、2を2回putsします

1 2 2 3 4 5

コメントを投稿

0 コメント