我是
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); }
上面的代码将工作.
解决方法
原文地址:https://www.jb51.cc/ruby/273232.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。