パターン

Wolfram言語の最大の強みのひとつに,強力・簡潔かつ分かりやすい記号的パターン言語がある.Wolfram言語のパターン言語は,通常の式が任意の記号構造の一般的なパターンを記述するというように概念を一般化し,個々の関数ですぐに使う場合にも,システマティックな大規模プログラミングの場合にも便利である.

基本のパターンオブジェクト

_ (Blank) 任意の式(埋めるための「空欄」)

x_ x として参照される任意の式

__ (BlankSequence) 1つ以上の式の任意の列

___ (BlankNullSequence) 0個以上の式の任意の列

複合パターン

p|p|p (Alternatives) 複数の代替案のうちの任意のもの

p.. (Repeated),p... (RepeatedNull) 繰り返すパターン

x:p (Pattern) x として参照される任意のパターン

Except 指定のパターン以外のすべて

LongestShortest 合致するものの中の最も長いものと最も短いもの

OptionsPattern  ▪  PatternSequence  ▪  Verbatim  ▪  HoldPattern

OrderlessPatternSequence 任意の順の要素

KeyValuePattern 指定の要素を含む連想または規則のリスト

パターンの制限

_h 指定の頭部h を持つパターン(_Integer等)

Condition (/;) パターンの条件(等)

PatternTest (?) 関数テストを伴うパターン(_?NumberQ等)

パターンのデフォルト

_:e (Optional) 存在しない場合はデフォルトがe とされるパターン

_. (Optional) 定義済みデフォルトのパターン

Default 関数の定義済みデフォルト引数

パターンに影響する属性

Orderless  ▪  Flat  ▪  OneIdentity

文字列パターン »

StringExpression 記号的な文字列パターン

パターンマッチング関数 »

MatchQ  ▪  Cases  ▪  Position  ▪  Count  ▪  ...