Techioz Blog

Rubyで.eachループの終わりを伝える

概要

次のようなループがある場合

users.each do |u|
  #some code
end

ここで、 users は複数のユーザーのハッシュです。ユーザー ハッシュの最後のユーザーにいて、その最後のユーザーに対して特定のコードのみを実行したいかどうかを確認するための最も簡単な条件付きロジックは何ですか。

users.each do |u|
  #code for everyone
  #conditional code for last user
    #code for the last user
  end
end

解決策

users.each_with_index do |u, index|
  # some code
  if index == users.size - 1
    # code for the last user
  end
end