Soy nuevo a Ruby, y parece que Ruby hace variables de apoyo definidas fuera el método que se accede ahora cuando quiero hacer algo:Ruby no puede acceder a la variable fuera del método?
template=<<MTEMP
#methodName#:function(){},
MTEMP
result="";
def generateMethods(mds)
mds.each do |md|
result+=template.gsub(/#methodName#/,md).to_s+"\n";
end
result;
end
puts generateMethods(['getName','getAge','setName','setAge'])
Cuando traté de ejecutarlo tengo el error:
undefined local variable or method 'template' for main:Object (NameError)
parece que no puedo acceder a la variable interna del método template
y result
generateMethods
?
¿Por qué?
Actualización:
Parece que el concepto es el alcance difieren de lo que es en el javascript?
var xx='xx';
function afun(){
console.info(xx);
}
El código anterior funcionará.
Hay una respuesta adecuada para esta pregunta [aquí] (http://stackoverflow.com/a/10782889). – starfry