Open main menu
Home
Random
Log in
Settings
About AddOn Studio
Disclaimers
AddOn Studio
Search
Editing
WoW:API unpack
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{wowlua}} Returns the values in a consecutive-integer indexed table ret1, ret2, ... retN = unpack(table[, start [, end]]) Will not return values with hash style indexes. For example: local t = {1, "two", "3", x = "ecks", y = "why?"} unpack(t) -- returns: 1, "two", "3" == Arguments == ;table : (table) - A table ;start : Integer - Starting index, defaults to 1 if nil ;end : Integer - Ending index, appends nil values if the table does not contain enough === Returns === ;ret1, ret2, ... retN : A list of the values contained in the given table. == Examples == local arg1, arg2, arg3 = unpack({1, 5, "Hearthstone"}) -- This does the same thing: local arg1, arg2, arg3 = 1, 5, "Hearthstone" unpack({1,2,3,4,5},2,7) -- returns 2, 3, 4, 5, nil, nil == Notes == unpack() doesn't return all the values in the following example because it is not a contiguous table. -- Notes Example 1 t = {1,nil,"something",nil} print(unpack(t)) -- prints 1 A simple fix would be to add a value at the end of the list. This works because when you assign a table in this manner, Lua treats it as a contiguous table as long as there is a value at the last index. Nuking this value before adding new values at the end will break this behavior. -- Notes Example 2 t = {1,nil,"something",nil,1} print(unpack(t)) -- prints 1 nil "something" nil 1 t[5] = nil print(unpack(t)) -- prints 1 If you assign each value individually, unpack() will behave the same way it does in Notes Example 1. -- Notes Example 3 t = {} t[1] = 1 t[2] = nil t[3] = "something" t[4] = nil t[5] = 1 print(unpack(t)) -- prints 1 even though it's the same contents as in Notes Example 2.
Summary:
Please note that all contributions to AddOn Studio are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
AddOn Studio Wiki:Copyrights
for details).
Submissions must be written by you, or copied from a public domain or similar free resource (see
AddOn Studio Wiki:Copyrights
for details).
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Apinav
(
edit
)
Template:Editlink
(
edit
)
Template:Wowlua
(
edit
)