WoW:API wipe: Difference between revisions
Jump to navigation
Jump to search
m (New page: {{:Lua/Libshortcut|wipe|table.wipe}} Gets a string with all lower case letters instead of upper case. table = table.wipe(table) == Arguments == :; table : Table - The table to be cleare...) |
|||
(5 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{wowapi}} | ||
'''Wipes''' a table of all contents. | |||
Wipes a table of all contents. | |||
table = table.wipe(table) | table = table.wipe(table) | ||
wipe(table) | |||
== Arguments == | == Arguments == | ||
; table : Table - The table to be cleared. | |||
== Returns == | == Returns == | ||
; table : Table - The empty table. | |||
== Example == | == Example == | ||
Line 17: | Line 17: | ||
print(tab.Hello) -- print nil | print(tab.Hello) -- print nil | ||
{{ | == Notes == | ||
* While this function returns an empty table, it is not necessary to assign it to a variable. | |||
local t = {"stuff"} | |||
t = wipe(t) | |||
print(#t) -- prints 0 | |||
local t = {"stuff"} | |||
wipe(t) | |||
print(#t) -- also prints 0 | |||
* The difference between ''wipe(table)'' and ''table={}'' is that ''wipe'' removes the contents of the table, but retains the variable's internal pointer. | |||
data={1,2,3} | |||
copy=data | |||
assert(copy==data) -- they're the same object | |||
copy={} | |||
assert(copy~=data) -- they're no longer the same: | |||
assert(#copy==0) -- the copy is expectedly empty, | |||
assert(#data==3) -- but the original table remains. | |||
copy2=data | |||
assert(copy2==data) -- they're the same object | |||
wipe(copy2) | |||
assert(copy2==data) -- they're still the same object: | |||
assert(#copy2==0) -- the copy is expectedly empty, | |||
assert(#data==0) -- and so is the original table. |
Latest revision as of 04:47, 15 August 2023
Wipes a table of all contents.
table = table.wipe(table) wipe(table)
Arguments[edit]
- table
- Table - The table to be cleared.
Returns[edit]
- table
- Table - The empty table.
Example[edit]
local tab = {} tab.Hello = "Goodbye" print(tab.Hello) -- print "Goodbye" tab = table.wipe(tab) print(tab.Hello) -- print nil
Notes[edit]
- While this function returns an empty table, it is not necessary to assign it to a variable.
local t = {"stuff"} t = wipe(t) print(#t) -- prints 0 local t = {"stuff"} wipe(t) print(#t) -- also prints 0
- The difference between wipe(table) and table={} is that wipe removes the contents of the table, but retains the variable's internal pointer.
data={1,2,3} copy=data assert(copy==data) -- they're the same object copy={} assert(copy~=data) -- they're no longer the same: assert(#copy==0) -- the copy is expectedly empty, assert(#data==3) -- but the original table remains. copy2=data assert(copy2==data) -- they're the same object wipe(copy2) assert(copy2==data) -- they're still the same object: assert(#copy2==0) -- the copy is expectedly empty, assert(#data==0) -- and so is the original table.