в ruby ​​какая разница между self.method и методом внутри class << self

class Foo

  def self.one; 1 end

  class << self
    def two; 2 end
  end

end
puts Foo.singleton_methods.inspect # => ["two", "one"]

Мне сказали, что вышеупомянутые методы "один "и" два концептуально разные, но я не понимаю как. Оба являются одноэлементными методами - в чем разница между концепцией и приложением?

13
задан djburdick 1 April 2011 в 01:40
поделиться