0

Rubyで、2次元配列があるとすると、この構文が適切なのはなぜですか。

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

しかし、これはそうではありません:

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

何か案は?ありがとう

4

2 に答える 2

4

これでいいはずarray.each{|x| x.each{|y| puts y}}

最初に x を参照するのを忘れています。

つまり.、左アソシエイトオペレーターになるはずです。左側に注記がある場合 - これはエラーです。

于 2013-03-19T11:44:53.890 に答える
0

do...endブロックを{...} 慎重に置き換えると、2 番目のフォームが最初のフォームと同じように機能することがわかります。しかしputs array、この二重ループ全体と同じことを達成します。

丁寧なメタアドバイスを提供できるとしたら、今日のRubyに関する2つの質問は、知らない言語で何かをするように頼まれたようで、イライラしているようです. これは理解できます。しかし良いニュースは、他の多くの言語と比較して、Ruby は非常に少数の要素で構築されているということです。Array と Hash に慣れるために少し時間を費やすと、その後はずっとスムーズに進むことがわかるでしょう。

于 2013-03-19T13:34:06.700 に答える