考虑以下功能 foo
foo <- function(x) {
print(x)
message("test message")
}
Run Code Online (Sandbox Code Playgroud)
我想在函数结果之后传递消息,这样如果结果很长,我不必向上滚动以查看是否有重要消息(或更改我的max.print选项).问题是我想在不打印实际结果的情况下分配结果.
有没有办法打印函数的结果,然后是消息,还有这样当我分配结果时什么都没打印?理想情况下,我想print完全避免使用.
没有赋值的期望结果是
> foo(5)
# [1] 5
# test message
Run Code Online (Sandbox Code Playgroud)
分配的期望结果是
> bar <- suppressMessages(foo(5))
> bar
# [1] 5
Run Code Online (Sandbox Code Playgroud) r ×1