|
A.2.7 演算子の入力形
文字あるいは文字のようなもの,さらに構造的な要素をMathematicaは演算子として扱う.Mathematicaはこれらを演算子として解釈する組込み規則を持っている.しかし,これらの演算子に対応する関数のすべてに組込みの評価規則が存在するとは限らない.組込みの評価規則が存在する関数には,以下の表においてマーク( )が付いている.
2次元ボックスを作る演算子(名前の先頭にバックスラッシュが付いている)は, \( ... \)の中でのみ使用できる.以下の表ではこれらの演算子が \!\( ... \)中にある場合の解釈について述べている.A.2.9には \!がないときの解釈が記述されている.

演算子の入力形の表において使われるオブジェクト

演算子の入力形,その1(上から優先度の高い順に並んでいる)

演算子の入力形,その2(上から優先度の高い順に並んでいる)

演算子の入力形,その3(上から優先度の高い順に並んでいる)

演算子の入力形,その4(上から優先度の高い順に並んでいる)

演算子の入力形,その5(上から優先度の高い順に並んでいる)

演算子の入力形,その6(上から優先度の高い順に並んでいる)

補助的な入力形(上から優先度の高い順に並んでいる)
特殊文字
演算子として使われる特殊文字は,演算子が表す関数と同じ名前を持つ.例えば,特殊文字 の名前は\[CirclePlus]であり,関数CirclePlusを表している.例外として,\[GreaterSlantEqual],\[LessSlantEqual],\[RoundImplies]がある.
挿入句的な演算子で使われる区切り記号は \[LeftName]と \[RightName]のように命名されている.
A.12.1 には演算子として使われる特殊文字の一覧表がある.

解釈が等価なキーボード文字と特殊文字

解釈が異なるキーボード文字と特殊文字
優先順位と入力形の並び順
入力形の表では優先順位が高い順に並べられていて,また,同一の欄にある入力形は同じ優先順位を持つ.表では同一の優先度が2つのページにまたがらないようになっている.2.1.3で説明したように,入力した式の各項は優先順位に従ってまとめられる.一般的には が より高い優先順位を持つ場合, は, と解釈され, は, と解釈される.
入力形のグループ化
ある入力形が繰り返し使用されたり,優先順位の等しい入力形と同時に使用されたりしたときにどのようにグループ化されるかが,表の第3列に示されている.例えば,a/b/cは(a/b)/cとグループ化される(左側の結合則).また,a^b^cはa^(b^c)とグループ化される(右側の結合則).a + b + cのような式ではPlusは両側の結合則を持ち,それがFlat属性により表されているので,グループ化について考える必要はない.
積分演算子の優先順位
上記の表において のような「外側」が優先される形式は,Powerよりも優先順位が低く,また, のように「内側」が優先される形式よりは優先順位が高い,という位置にある.「外側」優先はいつ をカッコでくくればよいかを決定し,「内側」優先はいつ をカッコでくくればよいかを決定する.
\[ContourIntegral],\[ClockwiseContourIntegral],\[DoubleContourIntegral]に関しても,\[Integral]と同様である.
積分演算子に関連する2次元的な入力形はA.2.8を参照のこと.
スペースと乗算
Mathematicaにおいてスペースは,通常の数学の場合と同じように乗算を表す.さらに,Mathematicaでは,完結した式が隣り合っていればスペースで区切られていなくても,乗算するものとして扱う.

乗算の記述法
x!yのような式は(x!)*yとx*(!y)のどちらともとれるが,実際には,Factorialの方がNotより優先順位が高いので,前者が計算される.
単一の入力形に含まれるスペースは無視される.例えば,a + bは,a+bと等しい.優先順位の低い演算子の両側にスペースを入れることで,プログラムの可読性を高めることができる.
シンボルの前に数字を付加することで「係数」を与えることができる.(10進法以外の数を使う場合,係数とシンボルの間にはスペースが必要となる.)

注意を要するいくつかの例
スペースをさけた方がよい場合
/.,=.,>=のような演算子の各文字間にスペースを入れるのはさけるべきである.そのようなスペースは場合によっては可能かもしれないが,混乱を生む可能性がある.
パターンオブジェクトx_を入力するときもスペースを入れてはいけない.x _のように入力すると,Mathematicaはx_ではなく,x*_と解釈するからである.
同じように,x_:value等のパターンオブジェクトの中にスペースを入れるのも好ましくない.
間隔調整文字

キーボードのスペースと等しい働きをする間隔調整文字
関係演算子
関係演算子は混ぜて使ってもよい.a > b >= cのような関係式は, Inequality[a, Greater, b, GreaterEqual, c]に変換され,(a > b) && (b >= c)として評価される.(Inequalityは,a > b >= cのような入力式の処理において,式が(この場合は)2度評価されないようにするために使われる.)
ファイル名
<<,>>,>>>の後にファイル名を指定する際は引用符でくくる.ファイルがアルファベットの文字と数字,特殊文字と記号`,/,., \,!,-,_,:,$,*,~,?からファイル名が構成されているときや,スペースとタブと改行文字を除く任意の文字を両側から角カッコでくくったものであるときには引用符は必要ない.引用符を付けない場合,ファイル名の後に続けられるのはセミコロンとコンマ,さらに,スペース,タブ,改行,そして,),], だけである.
|