# 연산자

아래 표는 닉스 표현식 언어가 가진 연산자들을 보여줍니다. (가장 강한것부터 약한 순서로) 계산 우선 순위 순서로 적혀있습니다.

이름 문법 결합 방향 설명 연산 순위
Select e . attrpath [ or def ] none Select attribute denoted by the attribute path attrpath from set e. (An attribute path is a dot-separated list of attribute names.) If the attribute doesn’t exist, return def if provided, otherwise abort evaluation. 1
Application e1 e2 left Call function e1 with argument e2. 2
Arithmetic Negation - e none Arithmetic negation. 3
Has Attribute e ? attrpath none Test whether set e contains the attribute denoted by attrpath; return true or false. 4
List Concatenation e1 ++ e2 right List concatenation. 5
Multiplication e1 * e2, left Arithmetic multiplication. 6
Division e1 / e2 left Arithmetic division. 6
Addition e1 + e2 left Arithmetic addition. 7
Subtraction e1 - e2 left Arithmetic subtraction. 7
String Concatenation string1 + string2 left String concatenation. 7
Not ! e none Boolean negation. 8
Update e1 // e2 right Return a set consisting of the attributes in e1 and e2 (with the latter taking precedence over the former in case of equally named attributes). 9
Less Than e1 < e2, none Arithmetic comparison. 10
Less Than or Equal To e1 <= e2 none Arithmetic comparison. 10
Greater Than e1 > e2 none Arithmetic comparison. 10
Greater Than or Equal To e1 >= e2 none Arithmetic comparison. 10
Equality e1 == e2 none Equality. 11
Inequality e1 != e2 none Inequality. 11
Logical AND e1 && e2 left Logical AND. 12
Logical OR e1 \|\| e2 left Logical OR. 13
Logical Implication e1 -> e2 none Logical implication (equivalent to !e1 \|\| e2). 14

Last update: November 4, 2021