Cuando escribo self
, obtengo un valor de retorno main
. Hice esta prueba:Si `main` es una instancia de` Object`, ¿por qué no puedo llamarlo?
main2 = Object.new
Entonces puede llamar main2
y devuelve algo, pero cuando llamo main
, se genera un error variable no definida. ¿Como sucedió esto?
Aquí está la suposición de que he encontrado en otro sitio acerca de cómo funciona este entorno de alto nivel:
class Object
Object.new.instance_eval do
def self.to_s
"main"
end
private
##
# Your program gets inserted here...
##
end
end
Tiene sentido para mí.
excelente artículo que proporcionas, ahora tiene mucho sentido, por la forma en que aprendí #include Module.new, ¡me abre los ojos! ¡Gracias de nuevo! – mko
por cierto, el remove to_s de la clase singleton de main es una excelente manera de ilustrar toda la estructura. ¡estupendo! – mko