我們可以使用Remove["context`*"]
刪除特定上下文中的所有符號。但是否可以從系統中刪除"context`"
本身,以便它不再在Contexts[]
中列出?是否可以從加載的上下文[]列表中刪除「上下文」?
8
A
回答
6
據我所知(猜測),一旦上下文變爲空(沒有符號),將自動從Contexts[]
中刪除上下文。至少,這發生在我的測試中。這裏是一個:
In[1]:=
BeginPackage["Test`"]
EndPackage[]
Out[1]= Test`
In[3]:= MemberQ[Contexts[],"Test`"]
Out[3]= False
In[4]:= Test`a
Out[4]= a
In[5]:= MemberQ[Contexts[],"Test`"]
Out[5]= True
In[6]:= Remove["Test`*"]
In[7]:= MemberQ[Contexts[],"Test`"]
Out[7]= False
這也可以解釋爲什麼叫Contexts[]
需要一秒鐘的相當大的部分 - 系統必須檢查每一個方面它是否是空的。無論如何,你的問題的答案似乎很簡單 - 刪除所有符號,上下文將從Contexts[]
中刪除。這也適用於系統加載的上下文 - 你可以嘗試一些(例如XML'
),儘管不用說這不是一個好的做法,至少可以說。
+0
這對我不起作用,因爲包仍然保留在'$ ContextPath'中,例如, 'Needs'不會重新加載它。任何想法爲什麼? –
+0
@ThomasFankhauser不知道。但我在這裏討論別的東西。製作一個獨立的小例子來說明你的問題並向M.SE提問 - 這樣你就會對你的問題有更多的關注。 –
相關問題
- 1. 是否可以從Web上下文中找到Spring非Web上下文?
- 2. 是否可以從上下文中刪除託管對象,而不是從對多關係中刪除它NSSet
- 3. 是否可以在iOS上下載和上傳文件?
- 4. plupload - 下載/刪除上傳的文件
- 5. 從servlet中刪除上下文屬性
- 6. 從上下文ActionBar中刪除'Tick'?
- 7. 從數據上下文中刪除/刪除表格
- 8. 加載上下文
- 9. 是否有必要刪除渲染上下文並銷燬設備上下文?
- 10. 刪除WebGL上下文
- 11. 從Jar中加載上下文
- 12. iOS drawRect:是否可以清除圖形上下文?
- 13. 將Hive上下文加載到表中
- 14. 下載文件時從網絡服務器上刪除文件
- 15. 如何從上下文菜單中刪除默認的菜單上下文
- 16. 從列表視圖中使用_id列從上下文菜單中刪除行
- 17. 刪除列表視圖中的項目的上下文菜單
- 18. <canvas>:從內存中刪除2d上下文而無需從內存中刪除webgl上下文
- 19. 是否可以向聯繫人添加上下文菜單?
- 20. 刪除TinyMCE中的上下文菜單
- 21. 是否可以從當前HTTP上下文創建NetworkCredential對象?
- 22. 是否可以從Blink公開WebGL上下文?
- 23. 是否可以從兩個上下文創建單個類?
- 24. 是否可以從下往上遍歷文件? [C]
- 25. 是否可以確定LinqToSql上下文是否被丟棄?
- 26. 是否可以根據上下文更改emacs語法表?
- 27. Spring上下文加載器
- 28. 下載請求排除加上不下載文件
- 29. 是否可以從Subversion獲取添加或刪除的文件列表?
- 30. 是否有可能破壞上下文?
'CleanSlate'不會這樣做嗎? – tomd
我不明白它是如何完成的。如果你在上下文衝突時遇到問題,那麼我會從'$ ContextPath'中移除上下文,這樣它不會給我帶來更多的麻煩。 – jmlopez
@TomD是的,正如Bill Rowe在[他的MathGroup答案](http://groups.google.com/group/comp.soft-sys.math.mathematica/msg/de14f4aff3c6e780)中展示的那樣,AppendTo [$ ContextPath ,「上下文」「]; CleanSlate [「context'」]''會執行此操作(如果讀入'CleanSlate.m'時''「context'」''不在最初的'$ ContextPath'中)。但是,快速查看'CleanSlate.m'文件中的'CleanSlate'描述顯示,它只是清除''''context''' **及其所有子上下文**,以便自動刪除該上下文。 –