0

次のコードが与えられた場合、反復が最後のレコードにあるかどうかをテストする方法はありますか?テストしたい行に小さな擬似コードを付けました。

@shipments.each do |shipment|
  puts shipment.id
  puts shipment.desc

  unless shipment.last?  #is there a way to do this line?
    puts "that was the last shipment"
  end
end
4

2 に答える 2

1

組み込みのメソッドはありませんが、これに最も近いのはおそらく次のようなものです。

unless shipment == @shipments.last

これは、ActiveRecord の結果のセットを操作していることを前提として@shipments[1, 2, 3, 2]ます2

于 2013-01-07T00:39:03.267 に答える
1

#lastメソッドを使用すると、そのようなことができますが、これを達成するためのより良い方法があるはずです

@shipments.each do |shipment|
  puts shipment.id
  puts shipment.desc

  unless shipment == @shipments.last  #is there a way to do this line?
    puts "that was the last shipment"
  end
end
于 2013-01-07T00:39:29.707 に答える