SLAX 연산자
SLAX는 다양한 연산자를 제공하여 SLAX 스크립팅 언어에 뛰어난 다양성을 더합니다. 표 1 에는 사용 가능한 연산자가 요약되어 있으며 각 연산자의 예와 설명이 나와 있습니다.
이름 |
연산자 |
예/설명 |
---|---|---|
또한 |
+ |
var $result = 1 + 1; 피연산자의 합을 반환합니다. 이 예제에서는 변수에 값 2 |
및 |
&& |
($byte-count > 500000) && ($byte-count < 1000000) 두 개의 표현식을 계산하고 하나의 부울 결과를 반환합니다. 두 표현식 중 하나가 로 |
할당 |
= |
var $mtu = 1500; mvar $mtu2 = 48; set $mtu2 = 1500; 변수 또는 매개 변수에 값을 할당하거나 접두사에 네임스페이스를 할당합니다. 이 예제에서는 변수와 |
조건부 |
?: |
var $result = ($a < 10) ? $b : $c; 평가된 조건의 부울 값을 기반으로 조건부 할당을 제공합니다. 조건식이 로 계산 이 예에서 변수에 |
부문 |
Div |
<output>$bit-count div 8; 왼쪽 피연산자를 오른쪽 피연산자로 나눈 결과를 반환합니다. 나눗셈의 나머지가 0이 아닌 경우 결과는 10진수 부동 소수점 표기법으로 표현됩니다. 이 예제에서는 변수를 8로 나누어 |
평등 |
== |
$mtu == 1500 왼쪽 피연산자와 오른쪽 피연산자의 값이 같으면 반환 |
보다 큼 |
> |
$hop-count > 0 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크면 반환 |
보다 크거나 같음 |
>= |
$hop-count >= 1 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같으면 반환 |
불평등 |
!= |
$mtu != 1500
|
반복 |
... |
for $i (1 ... 10) { <player number=$i>; } 시작 값이 왼쪽 피연산자와 같고 끝 값이 오른쪽 피연산자와 같은 정수 값 범위를 반복합니다. 왼쪽 피연산자가 오른쪽보다 크면 숫자가 내림차순으로 생성됩니다. 연산자는 시퀀스를 노드 집합으로 생성하는 XPath 함수로 변환됩니다. 이 연산자는 SLAX 언어 버전 1.1에서 도입되었으며, Junos OS 릴리스 12.2부터 지원됩니다. |
미만 |
< |
$hop-count < 15 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작으면 반환 |
보다 작거나 같음 |
<= |
$hop-count <= 14 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면 반환 |
모듈로 |
모드 |
<output> 10 mod 3; 두 숫자의 나눗셈 나머지를 반환합니다. 이 예에서 표현식은 값 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) 두 개의 표현식을 계산하고 하나의 부울 결과를 반환합니다. 두 표현식 중 하나가 true로 평가되면 결합된 표현식이 true로 평가됩니다. |
괄호 |
( ) |
var $result = ( $byte-count * 8 ) + 150; 복잡한 표현식을 만듭니다. 괄호는 괄호 안의 식이 먼저 평가되는 수학 표현식과 동일한 방식으로 작동합니다. 괄호는 중첩될 수 있습니다. 가장 안쪽의 괄호 집합이 먼저 평가된 후 다음 집합이 평가되는 식입니다. |
문자열 연결 |
_(밑줄) |
var $combined-string = $host-name _ " is located at “ _ $location; 여러 문자열을 연결합니다(SLAX에서 + 연산자를 사용하여 문자열을 결합할 수 없음). 이 예에서 가 "r1"이고 |
빼기 |
- |
var $result = 64 - 14; 왼쪽 피연산자와 오른쪽 피연산자 간의 차이를 반환합니다. 이 예제에서는 변수에 값 50 |
단항 빼기 |
- |
mvar $number = 5. set $number = - $number; 피연산자 값을 부정하고 양수 값을 음수 값으로 변경하거나 음수 값을 양수 값으로 변경합니다. 이 예제에서는 에 |
연합 |
| |
var $all-interface-nodes = $fe-interface-nodes | $ge-interface-nodes; 두 노드 집합의 공용 구조체를 만듭니다. 한 세트의 모든 노드는 두 번째 세트의 노드와 결합됩니다. 이는 스크립트가 여러 소스에서 가져온 XML 노드에 대해 유사한 작업을 수행해야 하는 경우에 유용합니다. |