基本的用法 each do
irb(main):013:0> a=[1,2,3,4,5,6]
=> [1, 2, 3, 4, 5, 6]
irb(main):022:0> a.each do |b|
irb(main):023:1* puts b
irb(main):024:1> end
1
2
3
4
5
6
=> [1, 2, 3, 4, 5, 6]
這樣可以達到for loop的功效 且很簡短 不用再寫 當...大於...時..i++ 這麼長了
但,有一個問題,那當我要有 i++ 這樣遞增或遞減的序號時怎麼做?
答案很簡單 each_with_index do
irb(main):030:0> b=[12,22,23,44,66,22]
=> [12, 22, 23, 44, 66, 22]
irb(main):031:0> b.each_with_index do |b,index|
irb(main):032:1* puts "我是第#{index+1} 筆資料,為'#{b}' 謝謝"
irb(main):033:1> end
我是第1 筆資料,為'12' 謝謝
我是第2 筆資料,為'22' 謝謝
我是第3 筆資料,為'23' 謝謝
我是第4 筆資料,為'44' 謝謝
我是第5 筆資料,為'66' 謝謝
我是第6 筆資料,為'22' 謝謝
=> [12, 22, 23, 44, 66, 22]
參考:http://ruby-doc.org/core-1.8.7/Enumerable.html#method-i-each_with_index
沒有留言:
張貼留言