2-56 TSP Programming Fundamentals
Series 2600 System SourceMeters Reference Manual
2600S-901-01 Rev. A / May 2006
Return to
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.
Let's 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])
-- Index into table using a number.
i = i + 1
end
Output of code above:
1
2
3
4
Tables can be indexed using element names instead of numeric indicies.
Since functions are 1st class variables, tables can be used to
create "pseudo-classes." Classes are often used in objec-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}
print(circle["clr"])
-- Index using a string; print the clr property.
print(circle["diam"]) -- Index using a string; print the diam property.
circle["setdiam"](2) -- Change the diam element by calling setdiam method.
print(circle.diam) -- circle["diam"] is the same as circle.diam; simpler syntax
circle.setdiam(3) -- Change the diameter of the circle again.
print(circle.diam) -- Print diam property again using simple syntax.
Summary of Contents for SourceMeter 2600 Series
Page 575: ...AppendixF DisplayCharacterCodes Appendix F topics Introduction page F 2...
Page 592: ......
Page 593: ......