2014-04-05 71 views
1

Ruby的絕對新手。我不太瞭解|animal|部分。有人可以向我解釋嗎?塊代表什麼?

ark = ["Cat", "dog", "pig", "goat"] 
ark.each do |animal| 
    puts animal 
end 
+1

請看這裏http://www.ruby-doc.org/core-2.1.1/Array.html#method-i-each。先閱讀文檔,這很簡單。 –

回答

2

在其他語言中的語法可能是這個樣子:

ark = ["Cat", "dog", "pig", "goat"]; 
ark.each(function (animal) { puts animal; }); 

這是否清晰起來?這是匿名函數的語法。如果你不熟悉這個概念,那麼這個怎麼樣?

function putAnimal(animal) { 
    puts animal; 
} 

ark = ["Cat", "dog", "pig", "goat"]; 
ark.each(putAnimal); 

|animal|是匿名函數的參數列表。非常粗略地說,Ruby的普通function (arg) { ... }的語法是do |arg| ... end