パターン
Wolfram言語の最大の強みのひとつに,強力・簡潔かつ分かりやすい記号的パターン言語がある.Wolfram言語のパターン言語は,通常の式が任意の記号構造の一般的なパターンを記述するというように概念を一般化し,個々の関数ですぐに使う場合にも,システマティックな大規模プログラミングの場合にも便利である.
基本のパターンオブジェクト
x_ — x として参照される任意の式
__ (BlankSequence)— 1つ以上の式の任意の列
___ (BlankNullSequence)— 0個以上の式の任意の列
複合パターン
p|p|p (Alternatives) — 複数の代替案のうちの任意のもの
p.. (Repeated),p... (RepeatedNull) — 繰り返すパターン
x:p (Pattern) — x として参照される任意のパターン
Except — 指定のパターン以外のすべて
Longest,Shortest — 合致するものの中の最も長いものと最も短いもの
OptionsPattern ▪ PatternSequence ▪ Verbatim ▪ HoldPattern
OrderlessPatternSequence — 任意の順の要素
KeyValuePattern — 指定の要素を含む連想または規則のリスト
パターンの制限
_h — 指定の頭部h を持つパターン(_Integer等)
PatternTest (?) — 関数テストを伴うパターン(_?NumberQ等)
パターンのデフォルト
_:e (Optional) — 存在しない場合はデフォルトがe とされるパターン
_. (Optional) — 定義済みデフォルトのパターン
Default — 関数の定義済みデフォルト引数
パターンに影響する属性
Orderless ▪ Flat ▪ OneIdentity
文字列パターン »
StringExpression — 記号的な文字列パターン
パターンマッチング関数 »
MatchQ ▪ Cases ▪ Position ▪ Count ▪ ...