Estoy tratando de hacer un instance_eval
seguido de un attr_accessor
dentro de initialize
, y sigo obteniendo esto: `` initialize ': método indefinido' attr_accessor'`. ¿Por qué no está funcionando?¿Por qué no puedo usar attr_accessor dentro de initialize?
El código es algo así como esto:
class MyClass
def initialize(*args)
instance_eval "attr_accessor :#{sym}"
end
end
class_eval es lo mismo que ponerlo donde escribió usted mismo – johannes
No, no lo es. 'clase << uno mismo; ...; end' no es un cierre. No podrá acceder a 'varname' dentro de él, pero puede acceder a él en el bloque' class_eval'. – sepp2k
[respuesta de semiomant] (http://stackoverflow.com/a/14978624/403664) es bueno. Echale un vistazo. –