Was ist der Unterschied zwischen einer Klasse und dem Singleton dieser Klasse in Ruby?
Okay, ich versuche, in Ruby Metaprogramme zu schreiben, und bin ein bisschen verwirrt. Nach mehreren Artikeln, die ich gelesen habe (wiedieses), um Ruby-Klassen dynamisch Klassenmethoden hinzuzufügen, müssen Sie die Singleton-Klasse der Klasse verwenden:
class Klass
end
class << Klass
self.define_method(:foo) { return "foo" }
end
Warum ist das so und wie unterscheidet sich das davon?
class Klass
self.define_method(:foo) { return "foo" }
end
(Sorry, wenn diese Frage falsche Annahmen enthält. Wie gesagt, ich bin ein bisschen verwirrt.)