1、陣列的迭代器
ary = [1,2,3,4,5,6,7]
ary.each
或者可以用each do end的寫法
ary = [1,2,3,4,5,6,7]
ary.each do |x|
puts x
end
也可以用each_with_index來獲取每次訪問陣列的index
ary = [1,2,3,4,5,6,7]
ary.each_with_index do |x,index|
print x," index is ",index,"\n"
end
2、hash的迭代器
ary =
ary.each do |key,value|
print key," ",value,"\n"
end
3、其它的迭代器
3.times do |x|
puts "hello#"
end
1.upto(9) do |x|
puts x
end
# 迭代並造出另乙個陣列
a = [ "a", "b", "c", "d" ]
b = a.map
puts b.inspect # 結果是["a!", "b!", "c!", "d!"]
# 找出符合條件的值
b = [1,2,3].find_all
b.inspect # 結果是[2]
# 迭代並根據條件刪除
a = [51, 101, 256]
a.delete_if # 結果是[51]
# 客製化排序
[2,1,3].sort! # 結果是[3, 2, 1]
# 計算總和
(5..10).inject
# 找出最長字串find the longest word
longest = ["cat", "sheep", "bear"].inject do |memo,word|
( memo.length > word.length )? memo : word
end
簡單的ruby 迭代器
由於工作關係,一直沒有時間學習ruby,最近終於有時間可以學習下ruby了,同時也在csdn開了blog,藉此記錄一下自己學習的心得,當然不僅僅是ruby,近幾年動態語言非常的火熱,而我個人也非常喜歡動態語言的簡潔,可惜一直都沒什麼時間花在上面,如果可能除了ruby,我也想花花時間在其他的語言上,例...
Ruby中的迭代器詳解
d瓜哥最近想做乙個 另外,老早就有學習一門動態語言的想程式設計客棧法,滿足著兩個條件的程式語言中,ruby python是最合適的兩種語言。現在ruby on rails如日中天,光芒萬丈!所以,就選定了ruby,從零開始學習。前天看了ruby的迭代器,對於我這個只學過j a c c 等的人來說,絕...
ruby 塊 和 迭代器
塊 塊由大量的 組成。您需要給塊取個名稱。塊中的 總是包含在大括號 內。總是從與其具有相同名稱的函式呼叫。這意味著如果您的塊名稱 為 test 那麼您要使用函式 test 來呼叫這個塊。您可以使用 yield 語句來呼叫塊。語法block name 在這裡,您將學到如何使用乙個簡單的 yield 語...