I am new to Ruby, and it seems that Ruby does support variables defined outside the method being accessed just now when I want to do something:
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'])
When I tried to run it I got the error:
undefined local variable or method 'template' for main:Object (NameError)
It seems that I can not access the template
and result
variable inner the generateMethods
method?
Why?
Update:
It seems that the scope concept is differ from what is in the javascript?
var xx='xx';
function afun(){
console.info(xx);
}
The above code will work.