Section 2
:
TSP Programming Fundamentals
Series 3700 System Switch/Multimeter Reference Manual
2-26
Document Number: 3700S-901-01 Rev. A / August 2007
5
-1
0.66666
Tables/arrays
TSL makes extensive use of the data type ―table,‖ which is essentially a very flexible array-like
data type.
Define a table:
atable = {1, 2, 3, 4}
A table with four elements, which are numbers.
Send the following command to print it:
i = 1
Tables are indexed on one, NOT zero.
atable[index]
is true if there is an element at
that index. nil is returned otherwise. 0 does NOT
evaluate to false, only nil does.
while atable[i] do
print (atable[i])
i = i + 1
end
Index into table using a number.
Output of code above:
1
2
3
4
Tables can be indexed using element names instead of numeric indices. Since functions are 1st
class variables, tables can be used to create "pseudo-classes." Classes are often used in
object-oriented programming.
Below is a table used to create a circle pseudo-class. It has 3 elements:
clr:
a string containing the color of the circle
diam:
a number containing the diameter of the circle
setdiam:
a function, or method, used to change the diameter
circle = {clr = "red", diam = 1, setdiam = function(d)
circle["diam"]=d end}