池澤といいます。

On Mon, 17 Aug 2009 16:29:43 +0900
"前川 映一" <eiichi_maekawa / mhi.co.jp> さんwrites:
--略--
>   a = a + i
> undefined method `+' for nil:NilClass (NoMethodError)
> Complete(1) エラーとなります。
>
--略--

「プログラミングRuby」(ISBN978-4-87311-394-4) P91 には

| 4.2 変数参照
|  変数とは、単純に値につけられた名前のことである。変数を作成するのは代入式で、
|このときに値も代入される。..(以下略)

と書いてあります。

Rubyリファレンスマニュアルの「変数」のページには
v = 1 if false
というおもしろい例があげられています。
http://www.ruby-lang.org/ja/man/html/

で、やってみました。

C:\>ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]
C:\>irb --simple-prompt
>> v = 1 if false
=> nil
>> defined?(v)
=> "local-variable"
>> v.class
=> NilClass
#
# じゃこういうのはどうかな?
>> x = x + 1
NoMethodError: undefined method `+' for nil:NilClass

# NilClassのnilに'+'というメソッドは定義されていない・・
#
# x の定義自体は成功してるということか?
>> defined?(x)
=> "local-variable"
>> x.class
=> NilClass
# なるほど

# じゃこういうのはいけるのかな?
>> y = y.to_i + 1
=> 1
# おっ!
>> defined?(y)
=> "local-variable"
>> y.class
=> Fixnum

# こんなのもいけるかな?
>> var = var
=> nil
>> defined?(var)
=> "local-variable"
>> var.class
=> NilClass
# なるほど