rep() 函数中的函数

Function in rep() function

为什么是

rep(message("TEST"),3)
rep(c(message("TEST")),3)

>
TEST
NULL
> 

不同
c(message("TEST"),message("TEST"),message("TEST"))

>
TEST
TEST
TEST
NULL
> 

然后如何使用 rep() 函数获得第二个结果?

编辑:

非常"conveniently" 我们可以使用:

invisible(lapply((rep(c(quote(message("TEST"))),3)),eval))
> 
TEST
TEST
TEST
> 

来自?rep

‘rep’ replicates the values in ‘x’.

来自 message("TEST") 为 NULL。

您可以通过

等方式查看
m <- message("TEST");
m;
#NULL
rep(m, 3);
#NULL
rep(NULL, 3);
#NULL

关于你的第二个问题,请参阅@docendodiscimus 的评论。