ruby的迭代器

2021-06-06 22:26:00 字數 1364 閱讀 5322

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 語...