我是水管工包的新手,我试图弄清楚如何fun_2
通过一个可以接受可选参数的 api 来提供一个函数。可选参数的默认值在fun_1
R 包中的函数 中指定。我怎样才能做到这一点而不必覆盖中指定的默认值fun_1
?
我尝试了一种简单的方法,即仅列出两个函数调用中的参数,而fun_2
. 但这会产生缺少参数的错误。
我还尝试在fun_2
. 这有效,但并不理想。我不想覆盖指定的默认值fun_1
,以防将来发生变化。我希望从 api 调用的函数始终具有与直接调用fun_1
.
fun_1(在 R 包中)
fun_1 <- function(x, y = c("a", "b", "c"), z = c("d", "e", "f"){
...
}
天真的方法
#* @post /myapi
fun_2 <- function(x, y, z){
fun_1(x, y, z)
}
curl -X POST "http://localhost:8000/myapi?x=0.001"
"error":["500 - Internal server error"],"message":["Error in FUN(X[[i]], ...): argument \"y\" is missing, with no default\n"]
这可行,但可能会覆盖 fun_1 默认值
#* @post /myapi
fun_2 <- function(x, y = c("a", "b", "c"), z = c("d", "e", "f"){
fun_1(x, y, z)
}