如果僅像某些文章說的前者的效率不如後者,那要前者做什麼?
认证0级讲师
一般情況下,盡量用each:
each
1.upto(10).each { |i| puts i } puts i # NameError: i is undefined
而用for時:
for
for i in 1.upto(10) do puts i end puts i # print 10
貌似沒什麼區別,ruby中做一件事通常有多種方法
each do效率高一點吧,有些程式規格裡一般不建議用for in
這個是程式風格的問題,each循環是函數式的風格,for循環是命令式的風格 each實際上可迭代的物件上的一個方法,接受一個block作為參數 for是語法裡面實作的一種循環結構
一般情況下,盡量用
each
:而用
for
時:貌似沒什麼區別,ruby中做一件事通常有多種方法
each do效率高一點吧,有些程式規格裡一般不建議用for in
這個是程式風格的問題,each循環是函數式的風格,for循環是命令式的風格
each實際上可迭代的物件上的一個方法,接受一個block作為參數
for是語法裡面實作的一種循環結構