配列とイテレータ的なにか

以下はどちらも同じ意味をあらわしています。
前者はなんとか自分でも書けそう。
※お名前お借りしてますすみません。

staffs = ['nanto_vi','motemen','suzak','r_kurain','nanto_vi']
staffs.each do |e|
  puts e
end
staffs = ['nanto_vi','motemen','suzak','r_kurain','nanto_vi']

i = 0;
while i < staffs.length
  puts staffs[i]
  i += 1
end

i = 0; の「;」はなんぞ。

実行

moomin:ProgrammingRuby tomomi$ ruby staffs.rb
nanto_vi
motemen
suzak
r_kurain
nanto_vi