Opérateurs SLAX
SLAX fournit une variété d’opérateurs, ce qui ajoute une grande polyvalence au langage de script SLAX. Le tableau 1 résume les opérateurs disponibles et fournit un exemple et une explication de chacun.
Nom |
Opérateur |
Exemple /Explication |
|---|---|---|
Plus |
+ |
var $result = 1 + 1; Renvoyer la somme des opérandes. Cet exemple attribue une valeur 2 à la |
Et |
&& |
($byte-count > 500000) && ($byte-count < 1000000) Évaluez deux expressions et renvoyez un résultat booléen. Si l’une des deux expressions évalue à |
Affectation |
= |
var $mtu = 1500; mvar $mtu2 = 48; set $mtu2 = 1500; Attribuez une valeur à une variable ou un paramètre ou assignez un espace de noms à un préfixe. L’exemple attribue une valeur de 1 500 à la |
Conditionnelle |
?: |
var $result = ($a < 10) ? $b : $c; Fournissez une attribution conditionnelle en fonction de la valeur booléenne de la condition évaluée. Si l’expression conditionnelle évalue à Dans l’exemple, si la valeur stockée dans la variable |
Division |
Div |
<output>$bit-count div 8; Renvoyez le résultat de la division de l’opérande gauche par l’opérande de droite. Si le reste de la division n’est pas nul, le résultat est exprimé en notation décimale à virgule flottante. L’exemple divise la |
Égalité |
== |
$mtu == 1500 Renvoyez |
Plus que |
> |
$hop-count > 0 Renvoyez |
Supérieur ou égal à |
>= |
$hop-count >= 1 Renvoyez |
Inégalité |
!= |
$mtu != 1500 Renvoyez |
Itération |
... |
for $i (1 ... 10) {
<player number=$i>;
}Itérer à travers une plage de valeurs entières avec une valeur de début égale à l’opérande gauche et une valeur fin égale à l’opérande droit. Si l’opérande gauche est supérieure à la droite, les nombres sont générés dans l’ordre décroissant. L’opérateur traduit en une fonction XPath qui génère la séquence sous la forme d’un ensemble de nœuds. Cet opérateur a été introduit dans la version 1.1 du langage SLAX, qui est prise en charge à partir de Junos OS version 12.2. |
Moins de |
< |
$hop-count < 15 Renvoyez |
Inférieur ou égal à |
<= |
$hop-count <= 14 Renvoyez |
Modulo |
Mod |
<output> 10 mod 3; Renvoyer le reste de la division des deux numéros. Dans cet exemple, l’expression affiche une valeur 1. |
Multiplication |
* |
<output> 5 * 10; Renvoyer le produit des opérandes. Dans cet exemple, l’expression affiche une valeur de 50. |
Ensemble de nœuds, ajoutez à |
+= |
mvar $block = <block> "start here"; append $block += <block> "next block"; Ajoutez une valeur à un ensemble de nœuds contenu dans une variable mutable, définie avec l’instruction |
Conversion des ensembles de nœuds |
:= |
var $new-node-set := $rtf-variable; Convertir un fragment d’arbre de résultats en un ensemble de nœuds. Un fragment d’arbre de résultats contient une structure de données XML nonparée. Il n’est pas possible de récupérer les informations XML intégrées à partir de ce type de données. Un script peut convertir le fragment d’arbre de résultats en un ensemble de nœuds, puis rechercher les informations appropriées et les extraire. Cet opérateur est pris en charge dans Junos OS version 9.2 et versions ultérieures. |
Ou |
|| |
($mtu-size != 1500) || ($mtu-size > 2000) Évaluez deux expressions et renvoyez un résultat booléen. Si l’une des deux expressions est évaluée à vrai, alors l’expression combinée évalue à vrai. |
Parenthèses |
( ) |
var $result = ( $byte-count * 8 ) + 150; Créez des expressions complexes. Les parenthèses fonctionnent de la même manière que dans une expression mathématique, où l’expression dans les parenthèses est évaluée en premier. Les parenthèses peuvent être imbriquées; l’ensemble le plus interne de parenthèses est évalué d’abord, puis l’ensemble suivant, et ainsi de suite. |
Concaténation de chaînes |
_(sous-score) |
var $combined-string = $host-name _ " is located at “ _ $location; Concaténer plusieurs chaînes (notez que les chaînes ne peuvent pas être combinées à l’aide de l’opérateur + dans SLAX). Dans l’exemple, si |
Soustraction |
- |
var $result = 64 - 14; Renvoyez la différence entre l’opérande gauche et l’opérande droite. Cet exemple attribue une valeur 50 à la |
Unary Moins |
- |
mvar $number = 5. set $number = - $number; Annuler la valeur de l’opérande, en changeant une valeur positive en une valeur négative ou une valeur négative en une valeur positive. L’exemple annule la valeur stockée et |
Union |
| |
var $all-interface-nodes = $fe-interface-nodes | $ge-interface-nodes; Créez une union de deux ensembles de nœuds. Tous les nœuds d’un ensemble se combinent avec les nœuds du deuxième ensemble. Cela est utile lorsqu’un script doit effectuer une opération similaire sur des nœuds XML extraits de sources multiples. |