类方法的定义

by Mafeng at about 9 years ago, last updated at about 9 years ago
G

总结了一下类方法的定义:

#1
  class Person
    def self.species
      "Homo Sapien"
    end
  end
  #2
  class Person
    def Person.species
      "Homo Sapien"
    end
  end
  #3
  class Person
    class << self
      def species
        "Homo Sapien"
      end
    end
  end
  #4 
  class << Person
    def species
      "Homo Sapien"
    end
  end
  #5
  Person.instance_eval do
    def species
      "Homo Sapien"
    end
  end
#6
  class Foo
  end
  metaclass = (class << Foo; self; end)
  metaclass.class_eval do
      def species
        "Homo Sapien"
      end
    end
  end

最后一个还不理解,就先记下来.