How to | 自分の定義をクリアする方法

値をシンボルに設定する場合,その値はWolframシステムセッションの全体を通してそのシンボルの代りに使われる.もはや使われなくなったシンボルが新しい計算で使われて予期せぬエラーを引き起す場合があるので,自分の定義をクリアするということが非常に大切である.

2つのシンボル(および)に値を割り当て,その総和を求める:

In[1]:=
Click for copyable input
Out[3]=

Clearを使って,およびの定義をクリアする:

In[4]:=
Click for copyable input

およびには値が関連付けられておらず,両者は値を持たないシンボルとして取り扱われていることを確認する:

In[5]:=
Click for copyable input
Out[5]=

このコマンドは現行のWolframシステムセッションで作成された定義をすべてクリアする:

In[6]:=
Click for copyable input
    

ClearAllを使って,シンボルの値と定義だけでなくシンボルに関連する属性とメッセージもクリアする.

0からある正の整数までの範囲を表示する関数を定義する:

In[7]:=
Click for copyable input

リストが引数として与えられると,がエラーを返すことに注意する:

In[8]:=
Click for copyable input
Out[8]=

を今度はListableに設定して,リストが引数として与えられるときにがリストにマップされるようにする:

In[9]:=
Click for copyable input
Out[10]=

がクリアされた後でも属性Listableはまだ残っている:

ClearAll を使って属性とメッセージもクリアする:

    

ClearAttributesを使って関数の属性だけをクリアし,定義は残す.

を再定義し,上と同じようにListableになるように設定する:

ClearAttributesを使ってみる.そうすると,の定義は残るが,属性Listableはもはや存在しないことが分かる:

    

Unset (=.)を使ってシンボルに対する値や定義をすべてクリアすることもできる:

In[20]:=
Click for copyable input
Out[20]=
    

Removeを使うとシンボルは再び参照されるまで完全に削除される:

は参照されると,またWolfram計算システムセッションに戻される:

In[25]:=
Click for copyable input
Out[25]=

局所的に定義されたシンボルはプログラムの指定された部分のみに設定された値を保存するが,定義は使用された後自動的にクリアされる.シンボルはBlockあるいはModuleを使って局所的に定義することができる.