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 コメント