WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Lua/XML Help (https://www.wowinterface.com/forums/forumdisplay.php?f=16)
-   -   Table > how to pick or skip values? (https://www.wowinterface.com/forums/showthread.php?t=57997)

jettisonedintospace 05-16-20 08:03 AM

Table > how to pick or skip values?
 
hi,

I've searched for a few hours in vain here and on the web but I fail to pick the proper keywords to find the answer for my question.

Lua Code:
  1. table = {
  2.         [1] = "One",
  3.         [2] = "Two",
  4.         [3] = "Three",
  5.         [4] = "Four",
  6.         [5] = "Five",
  7.     }
  8.     for i=1, 3 do
  9.         table[i] = DEFAULT_CHAT_FRAME:AddMessage("test"..tostring(i))
  10.     end

will print:
test1
test2
test3

but what if I want to print:
test1
test2
test4
test5

how to skip a value?

or pick only a few that are not consecutive?

like for:
test2
test5

Xrystal 05-16-20 09:16 AM

As with any array you either get them in order ..
Lua Code:
  1. for i = 1,5 do
  2.     print(items[i])
  3. end

or select them by index
Lua Code:
  1. print(items[10])

or select them by key if they are not in sequential index order
Lua Code:
  1. print(items["priest"])


If you want to go through a list and print certain ones you will need an additional check, using some set of if statements that will tell you if that item is the one that fits the bill. In this example the items table contains a class name to signify that item is for priests only. So if you want to print off all those items suitable for priests then you would do that test. How you would use this all depends on what information your data includes.
Lua Code:
  1. for i = 1,5 do
  2.     if items[i].class == "priest" then
  3.        print(items[i])
  4.     end
  5. end
This is a link to how tables work in lua which is the equivalent to arrays
https://www.lua.org/pil/2.5.html

jettisonedintospace 05-16-20 09:49 AM

thank you, I'll look into it.

Seerah 05-16-20 03:35 PM

For further practice on working with tables, see here:
http://lua-users.org/wiki/TablesTutorial (basic)
http://lua-users.org/wiki/TableLibraryTutorial (a little more advanced)


All times are GMT -6. The time now is 05:23 AM.

vBulletin © 2020, Jelsoft Enterprises Ltd
© 2004 - 2020 MMOUI