簡體   English   中英

R 列表可以引用自己的對象嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM