SLAX オペレーター
SLAXは、さまざまなオペレーターを提供し、SLAXスクリプト言語に優れた汎用性を追加します。 表 1 は、使用可能な演算子をまとめたものであり、それぞれの例と説明を示しています。
名前 |
演算子 |
例・説明 |
---|---|---|
また |
+ |
var $result = 1 + 1; オペランドの合計を返します。この例では、変数に値2を |
そして |
&& |
($byte-count > 500000) && ($byte-count < 1000000) 2 つの式を評価し、1 つのブール結果を返します。2 つの式のいずれかが 、 と評価される |
割り当て |
= |
var $mtu = 1500; mvar $mtu2 = 48; set $mtu2 = 1500; 変数またはパラメーターに値を割り当てるか、名前空間をプレフィックスに割り当てます。この例では、変数と |
条件 付き |
?: |
var $result = ($a < 10) ? $b : $c; 評価された条件のブール値に基づいて条件付き割り当てを提供します。条件式が と この例では、変数 |
部門 |
部 |
<output>$bit-count div 8; 左項を右項で割った結果を返す。除算の残りの部分が 0 以外の場合、結果は 10 進浮動小数点表記で表されます。この例では、変数を |
平等 |
== |
$mtu == 1500 左と右のオペランドの値が等しい場合は返 |
より大きい |
> |
$hop-count > 0 左オペランドの値が右オペランドの値より大きい場合は戻 |
より大きいか等しい |
>= |
$hop-count >= 1
|
不平等 |
!= |
$mtu != 1500 左と右のオペランドの値が等しくない場合に戻 |
イテレーション |
... |
for $i (1 ... 10) { <player number=$i>; } 左側のオペランドに等しい開始値と、右オペランドに等しい終了値で、整数値の範囲を繰り返します。左側のオペランドが右より大きい場合、数値は減少順に生成されます。オペレーターは、シーケンスをノード・セットとして生成する XPath 関数に変換します。この演算子は、Junos OS リリース 12.2 以降でサポートされている SLAX 言語のバージョン 1.1 で導入されました。 |
未満 |
< |
$hop-count < 15
|
と同じまたはそれ以下 |
<= |
$hop-count <= 14
|
モジュロ |
Mod |
<output> 10 mod 3; 2 つの数字の分割残りの部分を返します。この例では、式は値1を出力します。 |
乗算 |
* |
<output> 5 * 10; オペランドの積を返します。この例では、式は値50を出力します。 |
ノードセット、末尾に追加 |
+= |
mvar $block = <block> "start here"; append $block += <block> "next block"; ステートメントで定義された可変変数に含まれるノードセットに値を |
ノード セット変換 |
:= |
var $new-node-set := $rtf-variable; 結果ツリー フラグメントをノード セットに変換します。結果ツリー フラグメントには、解析されていない XML データ構造が含まれています。このデータ型から埋め込まれた XML 情報を取得することはできません。スクリプトは、結果ツリー フラグメントをノード セットに変換し、ノード セットを検索して適切な情報を検索して抽出できます。この演算子は、Junos OS リリース 9.2 以降のリリースでサポートされています。 |
または |
|| |
($mtu-size != 1500) || ($mtu-size > 2000) 2 つの式を評価し、1 つのブール結果を返します。2 つの式のいずれかが true と評価される場合、結合された式は true と評価されます。 |
かっこ |
( ) |
var $result = ( $byte-count * 8 ) + 150; 複雑な式を作成します。括弧は、数式と同じように機能し、括弧内の式が最初に評価されます。括弧はネストできます。最も内側の括弧のセットが最初に評価され、次に次のセットが評価されます。 |
文字列連結 |
_(アンダースコア) |
var $combined-string = $host-name _ " is located at “ _ $location; 複数の文字列を連結します(SLAX で + 演算子を使用して文字列を結合することはできません)。この例では、「r1」で「HQ」 |
減算 |
- |
var $result = 64 - 14; 左項と右項の差を戻す。この例では、変数に値50を |
ユニナリーマイナス |
- |
mvar $number = 5. set $number = - $number; オペランドの値をネゲートし、正の値を負の値に、負の値を正の値に変更します。この例では、 に格納された |
連合 |
| |
var $all-interface-nodes = $fe-interface-nodes | $ge-interface-nodes; 2 つのノード セットの共用体を作成します。1 つのセットのすべてのノードは、2 番目のセット内のノードと組み合わせます。これは、スクリプトが複数のソースからプルされた XML ノード上で同様の操作を実行する必要がある場合に便利です。 |