Warum führt das erneute Öffnen eines verschachtelten Moduls je nach verwendeter Syntax zu unterschiedlichen Ergebnissen? Zum Beispiel funktioniert das gut:Erneutes Öffnen der verschachtelten Modulanomalie in Ruby
module A
module E
end
end
module A
module E
def E.e
end
end
end
Aber:
module A
module E
end
end
module A::E
def E.e
end
end
gibt den Fehler:
reopen.rb:6:in `<module:E>': uninitialized constant A::E::E (NameError)
from reopen.rb:5:in `<main>'
(Bevor jemand dies weist darauf hin, eine Abhilfe ist self
zu verwenden statt der Modulname beim Definieren von Ee, aber das ist nicht wirklich der Punkt dieses Beitrags.)
Also, was ist die Frage? –
Fairer Punkt - umformuliert. –