User manual

Section 2: TSP Programming Fundamentals Series 3700 System Switch/Multimeter Reference Manual
2-38 3700S-901-01 Rev. C / July 2008
or
All operators are left associative, except for "^" (exponentiation) and "..", which
are right associative. Therefore, the following expressions on the left are
equivalent to those on the right:
a+i < b/2+1
(a+i)< ((b/2)+1)
5+x^2*8
5+((x^2)*8)
a < y and y <= z
(a < y) and (y <= z)
-x^2
-(x^2)
x^y^z
x^(y^z)
Logical operators
The logical operators are and, or, and not. Like control structures, all logical
operators consider false and nil as false and anything else as true.
The operator and returns its first argument if it is false, otherwise it returns its
second argument.
The operator or returns its first argument if it is not false; otherwise it returns its
second argument:
print(4 and 5)
print(nil and 13)
print(false and 13)
print(4 or 5)
print(false or 5)
Output of code above:
5
nil
false
4
5
Both and and or use short-cut evaluation; that is, they evaluate their second
operand only when necessary. A useful TSL construct is x = x or v, which is
equivalent to:
if not x then x = v end