Warum kann die 'self'-Methode des Moduls keine Singleton-Methode der Klasse werden?

<code>module Test
  def self.model_method
    puts "this is a module method"
  end
end

class A
  include Test
end

A.model_method
</code>

Dies wird ein Fehler sein mit:

undefinierte Methode `model_method 'für A: Class (NoMethodError)

Aber wenn ich die Metaklasse von A benutze, funktioniert es:

<code>module Test
  def model_method
    puts "this is a module method"
  end
end

class A
  class << self
    include Test
  end
end

A.model_method
</code>

Kann das jemand erklären?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage