前川です。

rubyは、script言語ということですが、
いまひとつ、理解できていません。

i = 0
while i < 5
  if i == 0
    a = 0
  end
  a = a + i
  i += 1
end
puts a

では、正常に終了しますが、

i = 0
while i < 5
  a = a + i
  i += 1
end
puts a

では、
undefined method `+' for nil:NilClass (NoMethodError)
Complete(1) エラーとなります。

この違いは、i==0の条件で、a = 0 があるかないかですが、

変数aが実体化される場合の動作が、いまいち理解できていません。
よろしくお願いします。


了