2013-03-19 153 views
0

在Ruby中,假設我們有一個2維數組,這是爲什麼語法罰款:紅寶石:二維數組語法

array.each do |x| 
    x.each do |y| 
    puts y 
    end 
end 

但是,這並不:

array.each{|x|.each{|y| puts y}} 

任何想法?由於

回答

4

這應該是罰款array.each{|x| x.each{|y| puts y}}

你忘了提及X第一。

I.e. .應該是左側關聯運營商。如果你注意到左側 - 這是一個錯誤。

+0

啊,的確,也許這就是他錯過的。我以爲他在思考「爲什麼語法不符合我的想法」? :) – 2013-03-19 11:46:44

+0

是的,我已經把我的答案後才意識到。更新一下。 – 2013-03-19 11:48:06

+0

謝謝@ denis-bu! – Pensierinmusica 2013-03-19 11:49:42

0

如果您用{...}仔細地更換do...end您會發現第二個表單與第一個表單的工作方式相同。但是puts array完成了這整個雙循環相同的事情。

如果我可以提供一些禮貌的元建議,今天你的兩個Ruby問題看起來像你可能被要求用一種你不認識的語言做一些事情,並且感到沮喪。這是可以理解的。但好消息是,與許多其他語言相比,Ruby只是構建在很少的幾個部分上。如果你花一點時間熟悉Array和Hash,那麼以後你會發現它更加平滑。

+0

嗨格倫,謝謝你的建議! :) – Pensierinmusica 2013-03-19 22:48:28