Wolfram ResearchProductsPurchasingServices & ResourcesAbout UsOur Sites
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

Documentation / Mathematica / Mathematicaブック / Mathematicaの仕組み / モジュール構成と変数名の付け方  /

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

シンボルの作成と検索

シンボル xを作る.

In[1]:= x // InputForm

Out[1]//InputForm= x

参照名は文字列として定義されている.

In[2]:= SymbolName[x] // InputForm

Out[2]//InputForm= "x"

xのシンボルをまた作る.

In[3]:= Symbol["x"] // InputForm

Out[3]//InputForm= x

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

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

シンボル x xpの名前を "x" "xp"にする.

In[4]:= t = {SymbolName[x], SymbolName[xp]} // InputForm

Out[4]//InputForm= {"x", "xp"}

xに数値を設定する.

In[5]:= x = 2

Out[5]=

xの入力は 2に置き換えられる.

In[6]:= {x, xp} // InputForm

Out[6]//InputForm= {2, xp}

だが,文字列による名前 "x"はそのままである.

In[7]:= t // InputForm

Out[7]//InputForm= InputForm[{"x", "xp"}]

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

x xpは本セッションで作ったシンボルだが,xppはそうでない.

In[8]:= {NameQ["x"], NameQ["xp"], NameQ["xpp"]}

Out[8]=

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

現行セッションで作った xで始まるすべてのシンボル名を列挙する.

In[9]:= Names["x*"] // InputForm

Out[9]//InputForm= {"x", "xp"}

この名前パターンを使うと,組込み関数が検索できる.

In[10]:= Names["Qu*"] // InputForm

Out[10]//InputForm= {"Quantile", "Quartics", "QuasiMonteCarlo", "QuasiNewton", "Quit", "Quotient"}

スペルが WeierstrssPに近い名前を検索する.

In[11]:= Names["WeierstrssP", SpellingCorrection->True]

Out[11]=

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

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

In[12]:= Clear["x*"]

それでも, "x"はまだ既知である.

In[13]:= Names["x*"]

Out[13]=

しかし, xの値は消去してある.

In[14]:= {x, xp}

Out[14]=

今度は,すべてを除去させる.

In[15]:= Remove["x*"]

これで, "x"による名前も未知になった.

In[16]:= Names["x*"]

Out[16]=

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

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



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information


 © 2008 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: