1

これがRubyのwhileループです

x = 0
while x < 1 do
   inside_var = "I'm inside"
   x += 1
end

puts inside_var

inside_varwhileループの内側で定義されていますが、外側に表示されます。JavaやC#などとはまったく異なります。

私は何かを逃したのだろうか?それは本当にそれがどのように機能するのですか?Rubyのどのような種類のループにも当てはまりますか?

4

1 に答える 1

6

はい、それは本当にそれがどのように機能するかです。すべての組み込み制御構造 ( whileforifbegin ... end) に適用されますが、ブロックには適用されません。したがって、eachまたはを使用してコードを書き直すtimesと、期待どおりに動作します。

于 2013-01-06T13:44:31.447 に答える