【发布时间】:2015-09-14 20:59:55
【问题描述】:
?invisible 说
返回一个(暂时)不可见的对象副本。
那个括号暗示隐形不会永远持续下去,但我找不到任何可以解释它何时消失的东西。我特别想知道像这样的构造(来自this old answer of mine):
printf <- function(...) invisible(print(sprintf(...)))
外部invisible可能是不必要的(因为print 已经将其返回值标记为不可见)。 withVisible() 报告说这个函数的返回值是不可见的,但我不知道这是否由语言保证,或者只是它在当前实现中的工作方式。
【问题讨论】:
-
它看起来 C 代码只是返回了它的参数。所以,暂时的,它可能只是意味着从
invisible调用中返回的任何内容都不会打印,但是像printf <- function(...) +invisible(1); printf(1)这样的东西仍然会打印1,而printf <- function(...) invisible(1); printf(1)不会
标签: r language-lawyer