R 可以像 [] 那样 return 什么都没有吗?

Can an R function ever return nothing, as in []?

任何玩过 R 一段时间的人都知道,真正的空与 NULL0、长度为 0 的对象之间是有区别的:

> a<-list(1,2,3,4)
> a[]#"Genuinely nothing"
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

> a[NULL]
list()
> a[0]
list()
> a[integer(0)]
list()

第一个案例引起了我的兴趣。有什么方法可以使 R 函数 return 成为我所说的“真正没有”的东西,以便 a[foo] return 全部 a 并与 a 之类的子赋值交互=16=]呢?我知道等效的行为,比如 a[TRUE],但我想知道是否有可能有一个函数 return,我称之为“真正没有”。据推测,我给出的示例必须向 [ 提供某种参数,因此它应该存在于 R 中的某个地方。

正如 Hadley 在 above mentionned post 的评论中指出的那样:

a <- list(1,2,3,4)

foo <- function() {quote(expr=)} 
a[foo()]

#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
#> [[4]]
#> [1] 4