Models 707B and 708B Switching Matrix Reference Manual
Section 6: Instrument programming
707B-901-01 Rev. A / August 2010
6-23
String concatenation
String operators
Operator Description
..
Concatenates two strings. If both operands are strings or number, they are
converted to strings according to Lua coercion rules, as follows:
•
Any arithmetic operation applied to a string tries to convert that string to
a number, following the usual rules.
•
Whenever a number is used where a string is expected, the number is
converted to a string, in a reasonable format.
Example: Concatenation
Code Output
print(2 .. 3)
print("Hello " .. "World")
23
Hello World
Operator precedence
Operator precedence in Lua follows the order below (from higher to lower priority):
Precedence
Operator
Highest
^
(exponentiation)
.
not, -
(unary)
.
*, /
.
+, -
.
..
(concatenation)
.
<, >, <=, >=, ~=, ==
.
and
Lowest
or
You can use parentheses to change the precedences in an expression. The concatenation ("
..
") and
exponentiation ("
^
") operators are right associative. All other binary operators are left associative. The
examples below show equivalent expressions.
Equivalent expressions
r offset < testValue/2+0.5
=
(r offset) <
((testValue/2)+0.5)
3+reading^2*4
=
3+((reading^2)*4)
Rdg < maxRdg and lastRdg <=
expectedRdg
=
(Rdg < maxRdg) and (lastRdg <=
expectedRdg)
-reading^2
=
-(reading^2)
reading^testAdjustment^2
=
reading^(testAdjustment^2)