5.16. 条件要素
CONDITION ヘッダーの列を指定すると、連続した行のセルが条件要素になります。
- CONDITION のすぐ下のセルのテキストは、ルール条件のパターンに開発され、次の行のスニペットは制約になります。セルが 1 つ以上のニービーと結合されている場合は、複数の制約を持つパターンが 1 つ形成されます。すべての制約は括弧で結合され、このセルのテキストに追加されます。セルは空白のままにすることができます。つまり、次の行のコードスニペットが自動的に有効な条件要素となります。制約のないパターンを含めるには、別のパターンのテキストの前にパターンを記述します。パターンは、括弧の空のペアで記述することも、なしで記述することもできます。パターンに from 句を追加できます。パターンが eval で終了すると、コードスニペットは、eval の後に括弧のペアに含めるブール値式を生成することになります。
- CONDITION の 2 つ下のセルのテキストは、2 つの手順で処理されます。
- このセルのコードスニペットは、その列のさらに下にあるセルから値が補間されます。以下のセルからの値で "==" を使用した比較で設定される制約を作成する場合は、フィールドセレクターだけで十分です。その他の比較演算子は、スニペットの最後に指定する必要があり、値は下のセルから追加されます。その他の制約形式については、
$paramの記号でセルの内容を追加する場所を指定する必要があります。シンボル$1、$2などを使用し、下のセルの値のコンマ区切りリストを使用すると、複数の挿入が可能です。パターンforall(区切り文字){スニペット}に従ってテキストが展開されます。これは、以下の各セルで、コンマ区切りの値リストの値ごとに スニ ペットを 1 回繰り返し実行し、シンボル$の代わりに値を挿入し、これらの拡張を指定の 区切り文字 で結合します。forall コンストラクトは他のテキストで囲むことができることに注意してください。 - 上記の行のセルが空でない場合は、そのセルから条件要素に完全なコードスニペットが追加されます。括弧のペアと、(結合したセルのパターンに複数の制約が追加されている場合は) 区切り文字のコンマが自動的に提供されます。上記のセルが空の場合は、挿入の結果がそのまま使用されます。
- CONDITION の 3 つ下のセルのテキストは、ドキュメントのみ用です。列の目的を人間のリーダーに示すために使用する必要があります。
- 4 行目から、空白以外のエントリーは、上記のように挿入用のデータを提供します。セルが空の場合は、このルールで条件付き要素または制約が省略されます。