Don't use while :(
Use [0...x] to generate numbers

[0...x] doesn't contains x. For exampmle, [0...2] is just [0, 1]
Use for in loop with index
for in loop with String ;)
for in loop(without index)

iは要素それぞれを参照するのと、ループの回数を管理するためのカウンターです。
for in loopではindexを取れますが、使わないなら必ずしも書く必要はないのです。
for i in [0...x.length] and for x in items pattern

単に添字の数値列が欲しいときは前者
要素の値も使いたいときは後者を使いましょう
Use meaningful variable name

今回はランキングを返す処理なので
for colum, i     in columnsよりも
for column, rank in columnsのほうが変数名が適切ですね
Remove last while loop :)
Merge pull request #4 from hanachin/use-for-in-loop-instead-of-while-loop

Use for in loop instead of while loop