【发布时间】:2020-04-11 05:08:38
【问题描述】:
我是 R 的新手。我用谷歌搜索了我的问题,但没有找到完全解决我正在寻找的问题。我知道您可以将函数传递给其他函数,但我想将类似“对象”的变量传递给一个函数,而其他函数则绑定到“对象”。这就是我的意思
model1.calculation1 = function() {
print( "model1.calculation1" )
}
model2.caclulation1 = function() {
print( "model2.calculation2" )
}
runModel = function( model ) {
model.calculation1()
}
runModel( model1 )
runModel( model2 )
和错误信息:
Error in model.calculation1() :
could not find function "model.calculation1"
请注意,在将函数绑定到它们之前,我没有做任何事情来实例化任何模型 1 或模型 2。有没有办法做到这一点?谢谢!
【问题讨论】:
-
拼写错误。检查拼写......你想要:
model1.calculation1() -
不,我希望
runModel在我作为参数传递的模型上调用calculation1。 -
谢谢爱德华,但我没有错字。我之所以调用
model.caclulation1()而不是model1.calculation1()是因为model 是runModel的函数参数名称。我希望runModel在我作为参数传递给它的任何模型上调用calculation1。 -
这是我会在 javascript 中做的事情,并且知道 R 是它自己的东西,所以我想知道我是否可以用类似的语法来实现这一点,或者我是否需要求助于类而不是什么。
-
很公平,但是错误仍然抛出```找不到函数“model.calculation1”```并且修复错字并重新运行仍然给出了同样的错误。