--- methods
--- public_methods
--- methods([inherited_too])            ruby 1.8 feature
--- public_methods([inherited_too])     ruby 1.8 feature

    Υ֥ȤǤ public ᥽å̾ΰʸ
    ֤ޤ

    ruby 1.8 feature: Ǥ褦ˤʤޤ
    inherited_too Ǥ(ǥեȤϿ)ѡ饹
    줿᥽åɤоݤˤʤޤ

    ruby 1.7 feature: methods ϡprotected ᥽åɤޤߤޤ

        class Foo
          private;   def private_foo()   end
          protected; def protected_foo() end
          public;    def public_foo()    end
        end

        class Bar < Foo
        end

        p Bar.new.methods           - Object.new.methods
        p Bar.new.public_methods    - Object.new.public_methods
        p Bar.new.private_methods   - Object.new.private_methods
        p Bar.new.protected_methods - Object.new.protected_methods
        => ["public_foo"]   # version 1.7 ʹߡ["protected_foo", "public_foo"]
           ["public_foo"]
           ["private_foo"]
           ["protected_foo"]

    Module#instance_methods [Module/instance_methods],
    Module#public_instance_methods [Module/public_instance_methods],
    ⻲ȤƤ

