ich mit der Ruby include
Stichwort am Experimentieren, wie unten gezeigt:Warum Modul außerhalb der Klasse enthalten fügt Instanzmethoden zur Klasse der Objekte
module A
def show
puts "working"
end
end
include A
class E
end
class D
end
e = E.new
d = D.new
e.show
d.show
o = Object.new
puts o.respond_to?("show")
******************************output****************
working
working
true
Ich erwarte Ausgang undefined method
zu sein, aber es gibt mir die korrekte Ausgabe ist zu geben. Ich habe auch beobachtet, dass das show
-Verfahren, das in module A
definiert ist, eine Instanzmethode von Object
wird.
Warum werden diese Methoden Instanzmethoden der Klasse Object
? Bitte helfen Sie mit, dieses Konzept zu verstehen.
Wert zu lesen: [Was ist der Ruby Top-Level?] (Https://banisterfiend.wordpress.com/2010/11/23/what-is-the-ruby-top-level/) – Stefan