我是Ruby的新手,当我想做一些事情时,Ruby似乎确实支持在方法外部定义的变量:
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'])
当我试图运行它时,我得到了错误:
main:Object (NameError)的
未定义的局部变量或方法'template‘
似乎我不能访问generateMethods
方法内部的template
和result
变量?
为什么?
更新:
似乎作用域的概念与javascript中的有所不同?
var xx='xx';
function afun(){
console.info(xx);
}
上面的代码将会工作。
https://stackoverflow.com/questions/9389432
复制相似问题