這是一個涉及以下代碼塊的兩部分問題。關閉連接後立即刪除連接對象
> ## ran rm(list = ls()) prior to the following
> closeAllConnections()
> tc <- textConnection("messages", "w")
> isOpen(tc)
# [1] TRUE
> close(tc)
> ls()
# [1] "messages" "tc"
> is.object(tc)
# [1] TRUE
> class(tc)
# [1] "textConnection" "connection"
> tc
# Error in summary.connection(x) : invalid connection
爲什麼不
tc
從對象列表中刪除,ls()
,立即在tc
連接被關閉,又是什麼意思invalid connection
?爲什麼R在列表中保留tc
?有沒有辦法在關閉後立即從對象列表中刪除它?如果沒有必要,我真的不想打
rm()
。也許我在掃描幫助文件的時候在某個地方錯過了一個參數。
的原因,這是很重要的,因爲我有一個叫list.objects
返回後,我運行上面的代碼中的錯誤的功能,但不以其他方式(可能是因爲tc
有兩類)。
用NULL對象打開'textConnection'在該函數的幫助頁面上似乎沒有記錄的行爲。你在期待什麼? –
我爲這個例子寫了'NULL'。但在我的實際代碼中,連接的名稱是「messages」。我會編輯。同樣的行爲發生雖然 –