我是
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'])
当我试图运行它,我得到错误:
undefined local variable or method ‘template’ for main:Object (NameError)
看来我无法访问模板和结果变量内部的generateMethods方法?
为什么?
更新:
看起来这个范围的概念是不一样的在javascript?
var xx='xx'; function afun(){ console.info(xx); }
上面的代码将工作.