シンボルとコンテキストの名前による操作

Symbol["name"]名前でシンボルを作成する
SymbolName[symb]シンボルの参照名を検索する

シンボルの作成と検索

シンボルを作る.
参照名は文字列として定義されている.
のシンボルをまた作る.

のようにに一度値を割り当てたら,計算ではが現れるたびに値に置換される.しかし,場合によっては,置換させずにもとの名前で参照し続けたいときがある.

そうするにはに参照名を与えておく.シンボルの文字列による名前をとしておけば,に実際に値が置換されても,文字列で引き続きを参照できるようになる.

シンボルの名前をにする.
に数値を設定する.
In[5]:=
Click for copyable input
Out[5]=
の入力はに置き換えられる.
だが,文字列による名前はそのままである.
NameQ["form"]文字列 form にマッチする名前のシンボルがあるかどうかを判定する
Names["form"]文字列 form にマッチする名前を持つシンボルをすべて列挙する
Contexts["form`"]文字列 form にマッチする名前を持つコンテキストを列挙する

文字列名を使ったシンボルとコンテキストの参照

は本セッションで作ったシンボルだが,はそうでない.
In[8]:=
Click for copyable input
Out[8]=

「文字列パターン」で説明する文字列パターンを使いシンボルの検索や指定を行うことができる.例えば,と文字列を入力すると,で始まるすべての名前を表せる.

現行セッションで作ったで始まるすべてのシンボル名を列挙する.
この名前パターンを使うと,組込み関数が検索できる.
スペルがに近い名前を検索する.
In[11]:=
Click for copyable input
Out[11]=
Clear["form"]文字列 form にマッチする参照名を持つすべてのシンボルの値を消去する
Clear["context`*"]コンテキストにあるすべてのシンボルの値を消去する
Remove["form"]文字列 form にマッチする参照名を持つすべてのシンボルを完全に除去する
Remove["context`*"]コンテキストにあるすべてのシンボルを完全に除去する

参照名とコンテキスト指定によるシンボルの消去と除去

で始まる名前を持つすべてのシンボルの値を消去する.
In[12]:=
Click for copyable input
それでも,はまだ既知である.
In[13]:=
Click for copyable input
Out[13]=
しかし,の値は消去してある.
In[14]:=
Click for copyable input
Out[14]=
今度は,で始まる名前を持つすべてのシンボルを除去させる.
In[15]:=
Click for copyable input
これで,による名前も未知になった.
In[16]:=
Click for copyable input
Out[16]=
Remove["Global`*"]大域コンテキストにあるシンボルすべてを完全に除去する

ユーザ定義の全シンボル除去

特にコンテキスト指定をしていなければ,ユーザの導入するシンボルは大域コンテキストに設けられる.Remove["Global`*"]と入力すれば,作成したすべてのシンボルが一括除去できる.組込み関数はシステムコンテキストにあるから除去されることはない.