如何使用NSE传递字符向量:
$.ajax({
contentType: 'application/json',
accept: 'application/json',
url: '',
headers: {
"listkey":{"key1":"val1", "key2": "val2", "key3":"val3"}
},
dataType: 'json',
cache: false,
success: function(data) {
...
例如,
fun <- function(x){
x_ <-deparse(substitute(x))
print(x_)
}
fun_ <- function(x){
do_something(x)
}
应打印将fun(x= a, b, c)
的参数解释为向量c(a,b,c)并将字符向量传递给x
:
fun_(x)
还有其他参数。
答案 0 :(得分:3)
您不能在参数中使用逗号;逗号分开的参数。调用fun(x=a,b,c)
将使用三个参数调用fun()
,第一个命名,第二个未命名。如果您只想忽略名称x=
,则可以使用
fun <- function(...){
x <- sapply(substitute(...()), deparse)
fun_(x)
}
fun_ <- function(x) {
print(x)
}
fun(a,b,c)
# [1] "a" "b" "c"
fun_(c("a","b","c"))
# [1] "a" "b" "c"