けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :16385 ] the message: "[ruby-dev:16385] Re: defined? 
autoload constant ", on Mar/14 17:04(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|      if defined?(Rational) and @imag.kind_of?(Rational) and @imag.denominator != 1
>|
>|の意図は, Rational実際に存在する(loadされている)ときだけ, 続きの処理を行
>|いたいのですが...  autoloadされていても, 実際にはloadされていないので...
>
>  defined?(Rational)
>
>の時点ではautoloadですが、
>
>  @imag.kind_of?(Rational)
>
>でRationalに触った時点でloadされちゃう(だから続きの処理を行っ
> ても問題ない)と思います。それではだめということ?

実行上は問題はないです. が, やりたかったのは, Rationalが定義されていなかっ
たら, @imagはRationalのわけないからそういう(Rational対応の)処理はしなく
ていいな, って判断したいのです. ですので, ここでloadされるのは本来の目的
通りにはなっていないです.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---