如何在ruby和javascript中自动修改变量名?

时间:2012-01-30 16:28:20

标签: javascript ruby

我想做类似的事情:

for(var i=0; i < 3, i++) {
  var file_i = i;
}

并获得局部变量:file_0 = 0,file_1 = 1,file_2 = 2

我也想知道如何在Ruby中实现它。

2 个答案:

答案 0 :(得分:2)

如果您不介意新变量是全局变量:

for(var i=0; i < 3, i++) {
  window["file_" + i] = i;
}

但正如评论所指出的,这是一个坏主意。创建对象的这些属性:

var files = { };
for(var i=0; i < 3; i++) {  // <-------- typo there.  Should be a ; after i < 3
    files["file_" + i] = i;
}

然后你可以用以下内容回读这些属性:

for (var key in files) {
    if ({}.hasOwnProperty.call(files, key))
        alert(key + " " + files[key]); 
}

我担心我不知道如何用Ruby做这件事。

答案 1 :(得分:0)

var listVar = [];

for(var i=0; i < 3, i++) {
  listVar["file_"+i] = i;
}

alert(listVar["file_1"]);// or file_2...