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

を作る.
Out[1]//InputForm= |
| |  |
Out[2]//InputForm= |
| |  |

のシンボルをまた作る.
Out[3]//InputForm= |
| |  |
のように
に一度値を割り当てたら,計算では
が現れるたびに値
に置換される.しかし,場合によっては,置換させずにもとの名前で参照し続けたいときがある.
そうするには
に参照名を与えておく.シンボル
の文字列による名前を
としておけば,
に実際に値が置換されても,文字列
で引き続き
を参照できるようになる.
Out[4]//InputForm= |
| |  |

に数値を設定する.
| Out[5]= |  |

の入力は

に置き換えられる.
Out[6]//InputForm= |
| |  |
だが,文字列による名前

はそのままである.
Out[7]//InputForm= |
| |  |
| NameQ["form"] | 文字列 form にマッチする名前のシンボルがあるかどうかを判定する |
| Names["form"] | 文字列 form にマッチする名前を持つシンボルをすべて列挙する |
| Contexts["form`"] | 文字列 form にマッチする名前を持つコンテキストを列挙する |
文字列名を使ったシンボルとコンテキストの参照

と

は本セッションで作ったシンボルだが,

はそうでない.
| Out[8]= |  |
「文字列パターン」で説明する文字列パターンを使いシンボルの検索や指定を行うことができる.例えば,
と文字列を入力すると,
で始まるすべての名前を表せる.
現行セッションで作った

で始まるすべてのシンボル名を列挙する.
Out[9]//InputForm= |
| |  |
この名前パターンを使うと,組込み関数が検索できる.
Out[10]//InputForm= |
| |  |
スペルが

に近い名前を検索する.
| Out[11]= |  |
| Clear["form"] | 文字列 form にマッチする参照名を持つすべてのシンボルの値を消去する |
| Clear["context`*"] | コンテキストにあるすべてのシンボルの値を消去する |
| Remove["form"] | 文字列 form にマッチする参照名を持つすべてのシンボルを完全に除去する |
| Remove["context`*"] | コンテキストにあるすべてのシンボルを完全に除去する |
参照名とコンテキスト指定によるシンボルの消去と除去

で始まる名前を持つすべてのシンボルの値を消去する.
それでも,

はまだ既知である.
| Out[13]= |  |
しかし,

の値は消去してある.
| Out[14]= |  |
今度は,

で始まる名前を持つすべてのシンボルを除去させる.
これで,

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