4
A
回答
8
這裏的諷刺是你沒有不要覆蓋它。您創建了一個名爲「print」的數據對象,當您在控制檯鍵入print
時,eval-print循環接管並返回它。如果您通過輸入print("something")
或print(42)
來正確測試打印的行爲,您會發現解釋器仍然能夠在基本NAMESPACE中找到print.default
函數。定義與現有函數名稱相同的數據對象是不好的做法,不是因爲它們在R解釋器中被覆蓋,而是因爲它們覆蓋了用戶的頭腦。解釋者通過查看是否存在表示函數調用的開放括號來確定您的意圖(好吧,它決定了它會做什麼)。如果字母打印後面跟着「(」,那麼解釋器會查看參數的類併發送相應的打印方法。
3
把它送回從命名空間
print = base::print
10
rm
不會刪除的基本對象,所以你可以運行:
rm(print)
有趣的是,你可以打印件事情:
> print <- FALSE
> print
[1] FALSE
> print("hi")
[1] "hi"
> rm(print)
> print("hi")
[1] "hi"
> print
function (x, ...)
UseMethod("print")
<bytecode: 0x2a3a148>
<environment: namespace:base>
相關問題
- 1. 如果我隱藏了一個內置函數,我該如何恢復它?
- 2. 我該如何忽略特定的NuGet包來恢復?
- 3. 爲什麼我的R.java消失了,我該如何恢復它
- 4. 我不小心刪除了我的android密鑰庫,我該如何恢復它?
- 5. 一個街區在我的網站上消失了,我如何將它恢復?
- 6. 我該如何在git中恢復-aC?
- 7. 現在ActiveRecord :: Base.silence {}消失了,我該如何恢復該功能?
- 8. 如果我不確定它,我該如何恢復一個對象?
- 9. 爲什麼IE忽略我的CSS,我該如何解決它?
- 10. 爲什麼我錯過了git2.h,我該如何恢復?
- 11. 如果我CFRelease()核心數據中的圖像,我該如何恢復它?
- 12. 我在git中恢復了合併,現在我該如何重新合併?
- 13. 爲什麼Git會忽略png文件,我該如何「忽略」它們?
- 14. 我該如何讓TypedFactory忽略NoTrackingReleasePolicy
- 15. 我該如何忽略MS Windows文件
- 16. 我刪除了Main.Storyboard,恢復它但
- 17. 我在一個函數中有一個函數,我該如何一次突破它們?
- 18. 我while循環似乎被忽略了我的函數getline
- 19. 如何讓MATLAB忽略一個函數?
- 20. Eclipse/Subversion:如何恢復忽略文件
- 21. 如何恢復顛覆忽略?
- 22. 讓R忽略函數中的參數
- 23. 我恢復了一個提交。現在我想要所有回
- 24. 我在忽略提交後很快恢復懸掛提交?
- 25. 我該如何忽略Xcode中的一些錯誤?
- 26. 我該如何參考一個函數?
- 27. 我如何索引R矩陣沒有它恢復到矢量
- 28. 我不小心刪除了我的Gemfile。我能恢復它嗎?
- 29. 我向Scala列表中添加了一個函數,現在我該如何刪除它?
- 30. 我如何恢復一個RabbitMQ隊列
這會在全局環境中產生不必要的'base :: print'副本。刪除你創建的'print'對象(如@gsk在他的回答中建議的那樣) –
它從來不在基礎:NAMESPACE中,它比編程暴力更耗費基礎功能。 –