Mathematica 為什麼沒有像matlab一樣的clear 和clc功能?

每次都需要輸入對應的變數名來做清除。非常麻煩。這算是設計缺陷嗎?

有Clear["Gloabal`*"]和 ClearAll["Gloabal`*"], ,雖然輸入略繁。倒也夠用。


有啊,怎麼沒有。多看看幫助文檔。

Clear["Global`*"]這樣就全清所有全局變數

Clear—Wolfram Language Documentation

也可以用Begin["context`"]新建一個上下文(Context)...然後就跟前邊的變數沒關係了。

Begin—Wolfram Language Documentation


這是我個人常用的函數,你可以把它放到你的FindFile["init.m"]這個文件中

System`St :=
Block[{$ContextPath}, Needs["Utilities`CleanSlate`"];
Quiet[Remove["`*"]];
Utilities`CleanSlate`CleanSlate[Verbose -&> False];
FrontEndTokenExecute /@ {"SelectAll", "Clear"};]

當然,matlab的clc並不清內存,只清屏幕,如果你也只清當前notebook的代碼,而不清之前定義的變數內容,你可以只放這個函數到你的FindFile["init.m"]文件

System`St := FrontEndTokenExecute /@ {"SelectAll", "Clear"}


選中Delete是清屏

Clear["`*"] 清除所有定義...

不過我喜歡直接Quit

Quit可以直接槍斃後端內核,有些定義是免疫Clear["`*"] 的

Quit的話除非莫名其妙寫進ini里了不然都能清除


清屏的問題看這裡:mathematica 清屏

順便 Clear["Global`*"] 在絕大多數情況下可以簡寫成 Clear@"`*" (* 清除當前上下文全體變數的值 *)

再順便如果理解了上面那個鏈接里所寫的內容的話,你也就不會有這麼迫切的清除全體變數的需求了。


一般來說清變數都是用 Clear["Global`*"]

查文檔 Clear 和ClearAll,你想要的全都有


Mathematica不需要這種東西,謝謝


用Exit可以少寫幾個字元


我也想知道,不過好像找到了一個類似於clear的功能。清屏的話,就是clear後直接重新建立就醬紫


推薦閱讀:

如何優雅地使用gams、matlab、AIMMS、LINGO?
matlab中能夠產生4個任意不同數字的命令或者說代碼是什麼。我是初學者,自學,網上也查不到,希望大家幫幫忙?
如何優雅地使用Matlab?

TAG:MATLAB | WolframMathematica | 代碼風格 |