View Single Post
06-30-18, 09:17 AM   #2
LanceDH
A Cyclonian
 
LanceDH's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2012
Posts: 41
getn only works with positive integer keys, from 1 until the sequence breaks.
If the key is another type, such as a table or string in this case, it won't count it.
Lua Code:
  1. local t = {"a", "b", "c"}
  2. print(#t); -- prints 3
  3. t[5] = "e";
  4. print(#t); -- still prints 3, because there is no key 4
  5. t["4"] = "d";
  6. print(#t); -- still prints 3, because key "4" is a string, not an integer

To get the number of all keys in a table, you have to create a for loop:
Lua Code:
  1. local count = 0;
  2. for key, value in pairs(PRF) do
  3.    count = count + 1;
  4. end
  5. print(count); -- will print 1
Note that I used pairs for this for loop instead of ipairs. It's the same thing where ipairs will only loop the sequencing integer keys (1-3 in table t from the first example)

Last edited by LanceDH : 06-30-18 at 09:32 AM.
  Reply With Quote