我看到还有一个相关的question ,但答案不是我要找的。我想要一个可以分配给对象的函数,但即使在分配时仍会打印输出,但不会重复打印。
在这种情况下:
fun <- function(x) {
print(x+1)
x+1
}
a <- fun(3)
在这种情况下,它既会保存到 a,又会打印到控制台,这正是我想要的。
但在这种情况下:
fun(3)
它会打印到控制台两次。有没有一种方法可以从案例 1 中获得所需的结果,而无需在案例 2 上重复打印?
最佳答案
假设您仍然希望您的函数返回 'x+1' 值,您可以将它包装在不可见函数中:
fun <- function(x) {
print(x+1)
invisible(x+1)
}
> fun(3)
[1] 4
> a = fun(3)
[1] 4
> a
[1] 4
这只会打印一次,同时仍保留 'x+1' 值。
关于R 函数 - 未分配时打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233378/