昨晚我在浏览the fuctions section of Hadley Wickham's Advanced R时看到了这个例子:
组合替换和子集
通常很有用
x <- c(a = 1, b = 2, c = 3)
names(x)
#> [1] "a" "b" "c"
names(x)[2] <- "two"
names(x)
#> [1] "a" "two" "c"
这是有效的,因为表达式名称(x)[2]&lt; - &#34; 2&#34;被评估为好像你写了:
`*tmp*` <- names(x)
`*tmp*`[2] <- "two"
names(x) <- `*tmp*`
(是的,它确实创建了一个名为`* tmp *`的局部变量,之后将其删除。)
我以前从未见过使用*tmp*
,我不确定它是什么,它是如何工作的,或何时使用它。我也找不到任何相关文档。我发现最后一条评论 - 之后被删除 - 特别有趣,因为看起来能够自动将自己从环境中移除的变量是有用的(如果使用得当)。此外,我只能间歇性地工作,这有点不寻常。
有没有人更了解这个神奇的`* tmp *`变量?