私はルビーに新しいです、そして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)
私がtemplate
とresult
変数インナーgenerateMethods
メソッドにアクセスすることができないようですか?
なぜですか?
更新:
スコープの概念がJavaScriptであるものとは異なっているようですか?
var xx='xx';
function afun(){
console.info(xx);
}
上記のコードは動作します。
この質問に対する適切な回答があります。[こちら](http://stackoverflow.com/a/10782889) – starfry