Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rlang::fn_fmls()可以嵌套吗?_R_Arguments_Rlang - Fatal编程技术网

rlang::fn_fmls()可以嵌套吗?

rlang::fn_fmls()可以嵌套吗?,r,arguments,rlang,R,Arguments,Rlang,文件表明,这是可能的: fn <- function(a = 1, b = 2) rlang::fn_fmls() fn() $a [1] 1 $b [1] 2 实际行为: x <- function(a, b){ rlang::fn_fmls(fn = rlang::current_fn()) } x(a = 1, b = 2) $a [1] 1 $b [1] 2 x <- function(a, b){ rlang::fn_fmls(fn = r

文件表明,这是可能的:

fn <- function(a = 1, b = 2) rlang::fn_fmls() 
fn()

$a
[1] 1

$b
[1] 2
实际行为:

x <- function(a, b){
  rlang::fn_fmls(fn = rlang::current_fn())
}

x(a = 1, b = 2)

$a
[1] 1

$b
[1] 2
x <- function(a, b){
    rlang::fn_fmls(fn = rlang::current_fn())
}

x(a = 1, b = 2)

$a


$b

x您正在寻找
rlang::call_args

x$a
#> [1] 1
#> 
#>b美元
#> [1] 2
如果您正在寻找要“填充”的默认参数,则可以执行以下操作:

x
#>b美元
#> [1] 2
x(a=5)
#>一美元
#> [1] 5
#> 
#>b美元
#> [1] 2
x(b=7)
#>一美元
#> [1] 1
#> 
#>b美元
#> [1] 7
x(a=5,b=7)
#>一美元
#> [1] 5
#> 
#>b美元
#> [1] 7
由(v0.3.0)于2020年10月3日创建

x <- function(a, b){
    tmp <- base::match.call() %>% 
        base::as.list() 
  
  
    tmp %>% 
        stringr::str_detect('x') %>% 
        purrr::discard(tmp, .)
}

x(a = 1, b = 2)

$a
[1] 1

$b
[1] 2