split 在 sink() 函数中到底做了什么?

What exactly does split do in the sink() function?

split 在 sink() 函数中到底做了什么?似乎没有任何网站或视频对其进行明确解释。

来自?sink

   split: logical: if 'TRUE', output will be sent to the new sink and
          to the current output stream, like the Unix program 'tee'.

通常,sink 不会向用户提供任何输出,而是将其全部发送到一个文件中。使用 split=TRUE,它会为您提供所有输出(看似正常) 并且 将输出转储到文件。

# non-split behavior
sink("quux1.txt")
1+2
print("hello")
sink(NULL)
readLines("quux1.txt")
# [1] "[1] 3"         "[1] \"hello\""

# split behavior
sink("quux2.txt", split = TRUE)
1+3
# [1] 4
print("hello again")
# [1] "hello again"
sink(NULL)
readLines("quux2.txt")
# [1] "[1] 4"               "[1] \"hello again\""