我正在使用osqp
软件包,其中有一个osqpSettings
函数,可以在there中找到该代码(如果您安装了该软件包,则可以直接运行此代码想要,结果是一样的)。致电:
osqpSettings(verbose = TRUE)
或:
osqpSettings(verbose = FALSE)
按预期工作。
但是调用其中任何一个:
my_verbose = TRUE
osqpSettings(verbose=my_verbose)
osqpSettings(verbose=1>0)
osqpSettings(verbose=eval(1>0))
osqpSettings(verbose=eval(my_verbose))
不适用于以下错误:
Error in checkpar(inpars[[nm]], defaultOsqpSettings[[nm]]) :
l'objet 'pairlist' ne peut être converti automatiquement en un type 'logical'
Called from: checkpar(inpars[[nm]], defaultOsqpSettings[[nm]])
(法语部分翻译为“对象无法自动转换为类型”)。
我怀疑这是此函数使用的match.call()
方法,该方法不接受参数中的代码。如何将变量作为参数传递(如果if(my_verbosity)
...则不调用函数。)