パターン マッチング

foo

あらゆるpath要素へのマッチ

pathが3つに区切られている次のイベントを待ちたいとしましょう。

sync "/*/*/*"

このパターンはちょうど3つの区分を持つpathならば, その区分の名前に関わらずどんなTime Stateイベントにもマッチします。 例えば:

しかし、区分の数が少なかったり多かったりするpathにはマッチしません。 例えば以下のものにはマッチしないでしょう:

それぞれの*は「あらゆるもの」を意味しています。 なので、区分が一つだけのpathには /* でマッチでき、5つの区分を持つpathには次のパターンでマッチできます: /*/*/*/*/*

部分的なパス要素へのマッチング

foo

しかし、以下のものにはマッチしないでしょう:

foo

ネストされたpath要素へのマッチ

foo

一文字へのマッチング

1文字へのマッチングには ? の文字を使うことができ、"/?oo/bar/baz" は次のようにマッチします:

複数の文字へのマッチング

foo

複数の文字へのマッチング

foo

foo

Combining Matchers

syncまたはgetを呼び出している時には、マッチング規則を自由な順番に組み合わせてcuesetで生まれるどんなTime Stateイベントにもパワフルにマッチさせることができます。 すごい例を見てみましょう。

sample :loop_amen

OSC パターンマッチング

気になる人のために説明すると、これらのマッチング規則はこのリンク先に詳しく書かれているOpen Sound Control パターンマッチング仕様に基づいています: http://opensoundcontrol.org/spec-1_0