0

Ruby を学習し、チュートリアルでこの例に出くわしました

x = 10  
5.times do |x|  
  puts "x inside the block: #{x}"  
end  

puts "x outside the block: #{x}"  

以下を出力します

x inside the block: 0
x inside the block: 1
x inside the block: 2
x inside the block: 3
x inside the block: 4
x outside the block: 10

x はブロック内でどのように増加しますか? これは信じられないほど単純な問題に違いありません。

4

1 に答える 1

0

5.times0 から 4 までの値を取得して、ブロックを 5 回繰り返します。ループ内での x の使用は、ブロックに対してローカルです。ループが実行された後、x は元の値、つまり 10 になります。

于 2012-09-01T19:24:25.987 に答える