Interactive SourceMeter® Instrument Reference Manual Section 7:
Introduction to TSP operation
2450-901-01 Rev. B/September 2013 7-25
Tables and arrays
Lua makes extensive use of the data type table, which is a flexible array-like data type. Table indices
start with 1. Tables can be indexed not only with numbers, but with any value except nil. Tables can
be heterogeneous, which means that they can contain values of all types except nil.
Tables are the sole data structuring mechanism in Lua. They may be used to represent ordinary
arrays, symbol tables, sets, records, graphs, trees, and so on. To represent records, Lua uses the
field name as an index. The language supports this representation by providing a.name as an easier
way to express a["name"].
The output you get from this example may vary depending on the data format settings of the
instrument.
Example: Loop array
i = 1
while atable[i] do
print(atable[i])
i = i + 1
end
Defines a table with four numeric
elements.
Loops through the array and prints
each element.
The Boolean value of
atable[index] evaluates to true if
there is an element at that index. If
there is no element at that index, nil
is returned (nil is considered to be
false).
Output:
1
2
3
Standard libraries
In addition to the standard programming constructs described in this document, Lua includes
standard libraries that contain useful functions for string manipulation, mathematics, and related
functions. Test Script Processor (TSP
®
) scripting engine instruments also include instrument control
extension libraries, which provide programming interfaces to the instrumentation that can be
accessed by the TSP scripting engine. These libraries are automatically loaded when the TSP
scripting engine starts and do not need to be managed by the programmer.
When referring to the Lua website, please be aware that the TSP scripting engine uses Lua 5.0.2.