"For" vs "each" em Ruby

Acabei de fazer uma pergunta rápida sobre loops no Ruby. Existe uma diferença entre essas duas maneiras de iterar através de uma coleção?

# way 1
@collection.each do |item|
  # do whatever
end

# way 2
for item in @collection
  # do whatever
end

Imaginando se esses são exatamente iguais ou se há uma diferença sutil (possivelmente quando@collection é nulo).