Difference between revisions of "Basic lua: Tables"
From The Official Visionaire Studio: Adventure Game Engine Wiki
Line 50: | Line 50: | ||
print( "table entry total: " .. #(t) ) -- print total of table entries | print( "table entry total: " .. #(t) ) -- print total of table entries | ||
</syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(tables)_2.png|frameless|center|180px]] | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(tables)_2.png|frameless|center|180px]] | ||
+ | |} | ||
+ | |||
+ | {| class="ts" | ||
+ | |- | ||
+ | ! method 3: keywords & values !! | ||
+ | |- | ||
+ | | style="max-width:680px;" | <syntaxhighlight lang="lua"> | ||
+ | local t = { | ||
+ | |||
+ | ["hello world"] = "hello world", | ||
+ | example = "this also works", | ||
+ | camelCaseExample = "this will also work", | ||
+ | snake_case_example = "as will this" | ||
+ | |||
+ | } | ||
+ | |||
+ | for k, v in pairs(t) do | ||
+ | print(k ..": " .. v) | ||
+ | end | ||
+ | |||
+ | print("\n...but as you can see it does not necessarily return them in the order they were created") | ||
+ | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(tables)_3.png|frameless|center|180px]] | ||
|} | |} | ||
Revision as of 18:13, 2 September 2022
Tables are one of the features of Lua script, that make the scripting language so dynamic & easy to use, as they allow us to easily create tables, insert, remove & sort data. Tables are often comprised of arrays that usually involve keywords - or an index number - & a value. Tables can be accessed using multiple different methods.
< | Index | > |
Creating a table
method 1: automatically generated index values | |
---|---|
local t = {1, 2, 3, 4, 5, "six", 7, "ate", 9} -- automatically assigns an index number to each value starting from 1
local str = "" -- empty string
for i = 1, #t do -- for 1 to table total, print value of index number
str = str .. t[i] -- add current table index value to existing text data in the str variable
if i < #t then str = str .. ", " end -- if i is less than table entry total then insert ", " into the str variable
end
print("table data: " .. str) -- print the table data
print( "table entry total: " .. #(t) ) -- print total of table entries
|
method 2: manually created index values | |
---|---|
local t = {
[1] = 1,
[2] = "two",
[3] = 3,
[4] = 2 * 2,
[5] = "five",
}
local str = "" -- empty string
for i = 1, #t do -- for 1 to table total, print value of index number
str = str .. t[i] -- add current table index value to existing text data in the str variable
if i < #t then str = str .. ", " end -- if i is less than table entry total then insert ", " into the str variable
end
print("table data: " .. str) -- print the table data
print( "table entry total: " .. #(t) ) -- print total of table entries
|
method 3: keywords & values | |
---|---|
local t = {
["hello world"] = "hello world",
example = "this also works",
camelCaseExample = "this will also work",
snake_case_example = "as will this"
}
for k, v in pairs(t) do
print(k ..": " .. v)
end
print("\n...but as you can see it does not necessarily return them in the order they were created")
|
< | Index | > |