Perché la riapertura di un modulo nidificato produce risultati diversi a seconda della sintassi utilizzata? Per esempio, questo funziona bene:Anomalia modulo nidificata riaperta in Ruby
module A
module E
end
end
module A
module E
def E.e
end
end
end
Ma questo:
module A
module E
end
end
module A::E
def E.e
end
end
dà l'errore:
reopen.rb:6:in `<module:E>': uninitialized constant A::E::E (NameError)
from reopen.rb:5:in `<main>'
(Prima che qualcuno fa questo, una soluzione è quello di utilizzare self
invece di il nome del modulo quando si definisce Ee, ma non è proprio questo il punto di questo post.)
Quindi, qual è la domanda? –
Punto giusto - riformulato. –