2016-03-05 131 views
2

如何刪除在Julia REPL中創建的函數?這可以在不重新啓動會話的情況下完成嗎?這對我來說是因爲我創建了一個錯誤類型輸入的函數,然後正確輸入,但無法擺脫舊輸入。如何移除Julia REPL中的函數?

http://docs.julialang.org/en/release-0.4/manual/faq/ 狀態的常見問題解答:

Julia does not have an analog of MATLAB’s clear function; once a name is 
defined in a Julia session (technically, in module Main), it is always present. 
+1

開發時,我認爲REPL是一個用於開發的沙箱。當代碼穩定並安全地放在'.jl'文件中時,它可以在新鮮的Julia解釋器中重新運行。帶回家:準備好偶爾重新啓動。這將清除任何殘留名稱空間污染,並且對於可複製性也很重要。 –

+0

@ user3580870我想這會得到一個關於如何使用REPL的更大問題。我習慣於分析R中的數據集,並且喜歡加載它們並使用庫和我自己設計的函數進行分析。在這種情況下,能夠在不重新加載大數據集的情況下能夠擺脫(我)設計不佳的功能會很好。 – ultradian

回答

3

你無法不重新啓動REPL(朱莉婭V0.4)刪除功能。數據類型也是如此。

這與Julia的type mechanism的工作方式有關,但不幸的是我對此知之甚少,以獲得更詳細的解釋。

+1

從技術上講,'workspace()'函數在不重新啓動REPL的情況下提供了一個乾淨的工作空間。是的,我在這裏很迂腐,因爲從用戶的角度來看,效果與重新啓動REPL基本相同(除了舊的工作區可通過'LastMain'使用)。 –

+0

@ColinTBowers的權利,這給你一個乾淨的命名空間,但你也失去了一切。 – dognotdog

+0

哦,是的。它根本沒有解決OP的問題:-)我只是迂迴地指出你不*重新啓動REPL。 –