我需要替换方法适用于呼叫或其他。
Class Solution
attr_reader :analyzers;
def initialize()
@analyzers = Array[];
end
def analyze_file()
count = 0;
f = File.open('test.txt')
#* Create an array of LineAnalyzers for each line in the file
f.each_line { |line| la = LineAnalyzer.new(line, count) }
@analyzers.push la;
count += 1;
end
end
end
当然,aParams必须是一个数组。
我该怎么做?
我等你的意见
答案 0 :(得分:1)
对于.apply应该使用参数作为数组, 但是在.call中使用参数作为参数。
var aParams = ['aParam1','aParam2'];
this[aType].apply(this, aParams);
this[aType].call(this,aParams[0],aParams[1]);
如果其n
号
for (var i = 0; i < aParams .length; i++) {
(function(i) {
}).call(this , aParams[i]);
}
答案 1 :(得分:1)
我无法真正联系到你真正需要它的原因,正如其他用户所指出的那样。但是如果你需要它,我会说这是一个有趣的问题需要解决。您可能对ES6模块中Spread和rest运算符的强大功能感兴趣。
检查如何使用此处的调用函数发送参数数组:
function abc(x, y) {
console.log(x, y);
}
var a = [1, 4];
abc.call(this, ...a)
答案 2 :(得分:0)
将参数传递给调用函数
this[aType].call(this, aParams[0],aParams[1],aParams[2])