原です。

In message "[ruby-list:13957] Re: What is Object in Ruby? (Re: Ruby and LISP)"
    on 99/04/21, Wakou Aoyama <wakou / fsinet.or.jp> writes:
|
|青山です。

|>   def e(i); if (i*i >= 0); [1,2,3]; else [4,5,6]; end; end
|> 
|> というとこでしょうか。
|> この [4,5,6] が GC の対象にならないのではということでした。
|
|この場合 GC の対象以前に [4,5,6] というオブジェクトが生成されません。

いや、しつこいですが、i*i >= 0 は false になることもあるので、、
このことの説明のためには例が(何重にか^^;)紛らわしいんですよね。
ここは、

   nil && [4,5,6]

とか、

  0.times do [4,5,6] end

で、[4,5,6] というオブジェクトは一度も生成されないという
意味で GC の対象にならない、という説明には十分ですよね。