--- autoload(const_name, feature)
--- autoload?(const_name)            ruby 1.8 feature

     const_name ǽ˻Ȥ feature 
    require 褦ꤷޤconst_name
    ʸޤ Symbol ǻꤷޤ
    ʤconst_name ˤϡ"::" 黻Ҥޤ뤳ȤϤǤޤ
    (Ĥޤꡢȥåץ٥Ǥޤ)

    nil ֤ޤ

    ruby 1.8 feature: ǤդΥ饹⥸塼 autoload 
    ǤޤϤꡢconst_name  "::" 黻Ҥޤ뤳ȤϤ
    ޤ󤬡ʲΤ褦Ǥޤ(ºݤˤϡ
    Module#autoload [Module/autoload] ƤФޤ)

        ------- /tmp/foo.rb ---------
        class Foo
          class Bar
          end
        end
        ----- end of /tmp/foo.rb ----

        class Foo
          autoload :Bar, '/tmp/foo.rb'
        end
        p Foo::Bar

    뤤ϡʲΤ褦ˤǤޤ

        class Foo
        end
        Foo.autoload :Bar, '/tmp/foo.rb'
        p Foo::Bar

    autoload? ϡautoload ޤƤʤ(ɤ
    ʤ)ȤˤΥѥ֤̾ޤޤɺѤߤʤ nil ֤
    ޤ

        ------- /tmp/foo.rb ---------
        class Foo
          class Bar
          end
        end
        ----- end of /tmp/foo.rb ----

        class Foo
        end
        Foo.autoload :Bar, '/tmp/foo.rb'
        p Foo.autoload?(:Bar)         # => "/tmp/foo.rb"
        p Foo::Bar                    # => Foo::Bar
        p Foo.autoload?(:Bar)         # => nil

    ʲΤ褦ˡautoload 饤֥꤬ͥȤʤ
    硢츫ưƤ褦˸ΤդɬפǤ(ٹ
    ФƤޤ)

          ------- /tmp/bar.rb ---------
          class Bar
          end
          ----- end of /tmp/bar.rb ----

          class Foo
            autoload :Bar, '/tmp/bar.rb'
          end
          p Foo::Bar
          p Foo.autoload?(:Bar)

          # => -:4: warning: toplevel constant Bar referenced by Foo::Bar
               Bar
               nil

    ϰʲΤ褦˥ͥȤΤƱȤǤ

          class Foo
          end
          class Bar
          end
          p Foo::Bar

          # => -:5: warning: toplevel constant Bar referenced by Foo::Bar
               Bar

