PORT4 > Pasta
 

ロジック

概要

Logicは条件分岐や繰り返し処理を実行するためのものです。

作成方法

Logic インターフェイスを実装したクラスを作成します。 あるいは、 AbstractLogic を継承します。

リファレンス

if

C/Javaライクな論理式を評価します。 値が偽の場合は、処理をスキップします。 利用可能な演算子は ==(等価), !=(非等価), !(否定), &&(論理積), ||(論理和),です。 それぞれ eq, neq, not, and, or と記述することもできます。 各トークンの間は、必ずスペースで区切ってください。 また、括弧()が利用可能です。
例: (${a} || ${b}) && ${c} = '1'

while

ifロジックと同様の式を評価しますが、値が真の間繰り返します。 このロジックは無限ループに陥る可能性をはらんでいるため、繰り返し回数は制限されます。 繰り返し回数の制限はpasta-basic.xconfに記述されています。

for

key* ['rotate'|'remove']
複数のkeyで指定された全てのパイプの値がなくなるまで処理を繰り返します。 繰り返しの最後で全てのパイプの先頭の値を破棄します。 'rotate'が指定されていると全ての繰り返し終了後に全てのパイプの状態を復活させます。 'remove'が指定されているとパイプの値は破棄されたままです。 デフォルトは'remove'です。

iterate

key i ['rotate'|'remove']
パイプkeyの値がなくなるまで、値をパイプiに移動させて処理を繰り替えします。 パイプiの値は繰り返しごとに破棄されます。 forロジックとの違いは、対象となるパイプは1つであることと、媒介変数を使用するところです。 'rotate'が指定されていると全ての繰り返し終了後にパイプkeyの状態を復活させます。 'remove'が指定されているとパイプの値は破棄されたままです。 デフォルトは'remove'です。