How to | 簡略表記を使う方法
簡略表記は Mathematica の豊かなシンタックスシステムの一部であり,複数の方法で関数に引数を与えることができるようにする.簡略表記を使用すると,コンパクトなコードを作成することに加えて, Mathematica における自分のワークフローをカスタマイズすることが可能になる.
Mathematica は関数を入力するための便利な方法をいくつか提供する.
例えば, Lengthを角カッコでくくったリストに使うと,リストの長さを得ることができる:
| Out[1]= |  |
「
」記号を関数とリストの間に使っても同じ操作が行える.「
」を使うと,式の終りまで行って閉じる角カッコを付ける必要がない:
| Out[2]= |  |
また,後ろに付ける「
」の表記を使うこともできる:
| Out[3]= |  |
これらの表記法は,どのような関数ででも,そしてどのような種類の引数についても,使用できる:
| Out[4]= |  |
| Out[5]= |  |
| Out[6]= |  |
2つの引数を取る関数に対しては中置記法も使用することができる:
| Out[7]= |  |
純関数は Mathematica で大変よく使用される.純関数は,関数に明示的な名前を定義しなくても関数が使用できるようにする.Functionの簡略表記を使って純関数を与えることができる.
Functionを使って,入力を3乗する純関数を与える:
| Out[8]= |  |
「
」および「
」の記号を一緒に使って同じ操作を行うことができる.「
」記号は変数のプレースホルダの働きをし,「
」記号は関数の中で置換したい値の前に付ける:
| Out[9]= |  |
MapおよびApplyは,関数型プログラミングに欠かせないものである.これらの関数の簡略表記を使うと大変便利である.
Mapを使ってリストの要素に関数をマップする:
| Out[10]= |  |
「
」を使っても同じ操作が行える:
| Out[11]= |  |
Applyにも簡略表記「
」が存在する:
| Out[12]= |  |
| Out[13]= |  |
Mathematica の簡略表記を組み合せて効率的なコードを作成することもできる.
MapおよびFunctionを使ってリストの各要素をベキ乗し,記号を結果に加える:
| Out[14]= |  |
同じ操作をFunctionの簡略表記を使って行う:
| Out[15]= |  |
これをさらに拡張し,Mapの簡略表記を含める:
| Out[16]= |  |
新しい計算で前の出力が必要になる場合がよくある.これはOutの簡略表記である「
」記号を使って得ることができる.
計算を設定する:
| Out[17]= |  |
Outの簡略表記である「
」記号を使って直前の出力を指定する:
| Out[18]= |  |
「
」をPartの簡略表記である
と一緒に使ってリストの最初の要素を取る:
| Out[19]= |  |
「
...
」を使って前の出力を指すことができる.2つ前の計算で生成された出力を得る:
| Out[20]= |  |
すぐ前ではない計算からの出力を得たい場合には,たくさんの「
」記号を使わなくてはならないのでやっかいである.
代りに,特定の出力セル番号をOutと一緒に使う.このセルを評価すると,以下のように,現行の Mathematica セッションからOut[17]という出力が得られる:
| Out[28]= |  |
以下のような簡略表記を使うこともできる:
| Out[29]= |  |
前の出力をラベルや簡略表記で参照することは便利ではあるが,現行の評価が常に前の出力に縛られるため,収拾の付かない状況に簡単に陥りかねない.このため,使用したい出力が確実に現行の計算で使用できるようにしなくてはならない.この表記を使用する際には注意する必要がある.
文字列操作関数の簡略表記を使って,文字列操作を簡略化することができる.
複数の文字列を一つにまとめる操作は,よく行われる文字列操作である.これはStringJoinを使って行う:
| Out[30]= |  |
StringJoinの簡略表記である「
」を使ってこの同じ操作を以下のように書くこともできる:
| Out[31]= |  |
StringExpressionは文字列を表すために使われる大変重要な関数である.これはStringReplace,StringCases,StringSplit,StringMatchQ等の数多くの文字列操作関数で使われる.
StringExpressionを使って文字列式のオブジェクトを作成する:
| Out[25]= |  |
あるいは,StringExpressionの簡略表記である「
」を直接使う:
| Out[26]= |  |