Я использую пакет osqp
, в котором есть функция osqpSettings
, код которой можно найти там (вы можете просто запустить этот код без установки пакета, если хотите, результат тот же). Вызов:
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)
...).