[英]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.