2013-07-19 19 views

回答

2

你的一段代碼將遍歷%w(fuing wtrds iiha)中的所有單詞。 "fuing", "wtrds", "iiha"),然後yield每個字到一個傳遞給each_word方法的塊。例如,如果你這樣調用方法:

each_word do | word | 
    puts word 
end 

這將打印出每個單詞到控制檯;輸出將

fuing 
wtrds 
iiha 

在我看來,該代碼將被更好地寫成:

words = %w(fuing wtrds iiha) 
words.each do | word | 
    puts word 
end 

,因爲這將有完全相同的效果。

+1

Downvoter,謹慎解釋? – feralin

+0

是的,你的代碼和我的(雄辯的紅寶石書真的)是等價的。這是如何使用產量,讓我感到困惑。 – lampShade

+0

@lampshade我試圖向你解釋......那麼你不明白什麼? – feralin

-4

傳遞一個塊。

1.

each_word{|w| puts "**#{w}**"} 

輸出

**fuing** 
**wtrds** 
**iiha** 

2.

each_word{|w| puts w.capitalize} 

輸出

Fuing 
Wtrds 
Iiha 

+1

-1這並不回答這個問題,它是關於在一個塊中使用「yield」的問題。 – feralin

+0

問題在於如何在問題中引用該塊(代碼片段)。我通過展示來展示它。問題不在於「在一個街區使用產量」。 – sawa

+1

我敢說,這是_exactly_什麼問題是關於... – feralin