[英]Can R list refer its own objects?
R 中的列表是否可以在定义时引用自己的对象?
例子:
ui_names <- list(
gen_button = 'Generate Report',
gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)
上面的代码抛出错误object 'gen_button' not found
。 如果我将 gen_button 更改为ui_names$gen_button
然后它会显示object 'ui_names' not found
错误,这完全有道理,因为列表尚未定义。
我知道我可以 go:
ui_names <- list(gen_button = 'Generate Report')
ui_names$gen_description <- sprintf("Press '%s' button to generate validation report.", ui_names$gen_button)
但我想知道列表是否可以在定义期间引用自己?
list()
是不可能的。 但是,有一个 function tibble tibble::lst()
允许这样做。 如果你对tidyverse
依赖有问题,这个 function 也已经在poorman
穷人(它只依赖于基础 R)中进行了改编:
tibble::lst(
gen_button = 'Generate Report',
gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)
#> $gen_button
#> [1] "Generate Report"
#>
#> $gen_description
#> [1] "Press 'Generate Report' button to generate validation report."
poorman::lst(
gen_button = 'Generate Report',
gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)
#> $gen_button
#> [1] "Generate Report"
#>
#> $gen_description
#> [1] "Press 'Generate Report' button to generate validation report."
由代表 package (v2.0.1) 于 2022 年 9 月 2 日创建
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.