首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ruby不能访问方法外部的变量吗?

Ruby不能访问方法外部的变量吗?
EN

Stack Overflow用户
提问于 2012-02-22 13:14:35
回答 3查看 22.9K关注 0票数 19

我是Ruby的新手,当我想做一些事情时,Ruby似乎确实支持在方法外部定义的变量:

代码语言:javascript
复制
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方法内部的templateresult变量?

为什么?

更新:

似乎作用域的概念与javascript中的有所不同?

代码语言:javascript
复制
var xx='xx';
function afun(){
  console.info(xx);
}

上面的代码将会工作。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9389432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档