Comparison Operators
| Operator | Operation | Example | Result |
|---|---|---|---|
== |
Equal | (a == b) |
bool |
!= |
Not equal | (a != b) |
bool |
< |
Less than | (a < b) |
bool |
> |
Greater than | (a > b) |
bool |
<= |
Less or equal | (a <= b) |
bool |
>= |
Greater or equal | (a >= b) |
bool |
<=> |
Spaceship | (a <=> b) |
-1, 0, or 1 |
Spaceship Operator
Three-way comparison returning -1 (less), 0 (equal), or 1 (greater).
Result type is int64.
int64:cmp = (a <=> b);
pick (cmp) {
(-1i64) { println("a < b"); },
(0i64) { println("a == b"); },
(1i64) { println("a > b"); },
(*) {}
}
Ternary Conditional — is
Nitpick uses is for ternary expressions:
int32:max = is (a > b) : a : b;
string:msg = is (count == 0) : "empty" : "has items";
Syntax: is (condition) : true_value : false_value
Float Comparison
Never use == with floats. Use epsilon comparison:
flt64:epsilon = 0.000001;
bool:equal = (abs(a - b) < epsilon);