在这个教程中,有以下代码:
library(repurrrsive)
library(listviewer)
library(purrr)
library(tibble)
got_chars %>% {
tibble(
name = map_chr(., "name"),
culture = map_chr(., "culture"),
gender = map_chr(., "gender"),
id = map_int(., "id"),
born = map_chr(., "born"),
alive = map_lgl(., "alive")
)
}
并且提供的解释是:“上面的点
.
是主要输入的占位符:在本例中为got_chars。围绕{}
的大括号tibble()
调用防止got_chars作为第一个参数传入tibble()
”
我想解释一下
{}
正在做什么,这是一个通用属性,还是 purrr
独有的属性?这是否类似于定义一个无名函数,例如function(x){ x + 1}
?
这里,我们定义了一个以x为参数的匿名函数,类似于{}。
是的,花括号 {} 在此上下文中执行与定义函数时相同的操作。在 R 中,它们用于形成必须作为一个单元执行的一段代码,这是 R 中的常见做法,而不是 purrr 所独有的。
当您使用 %>% 时,{} 块的功能类似于未命名函数,它从管道获取输入并使您能够对其执行各种操作。
通过使用管道 (%>%),{} 使您能够将多个表达式作为一个匿名函数进行处理。