How to get element count for this table? - WoWInterface
06-30-18, 08:39 AM   #1
alikim
A Fallenroot Satyr
Join Date: Jul 2015
Posts: 25
How to get element count for this table?

Code:
```PRF = {
["Profile_1"] = {
["pve"] = {
{
"Blood Frenzy", -- [1]
22420, -- [2]
}, -- [1]
{
"Guttural Roars", -- [1]
22424, -- [2]
}, -- [2]
{
"Balance Affinity", -- [1]
22163, -- [2]
}, -- [3]
{
"Mass Entanglement", -- [1]
18576, -- [2]
}, -- [4]
{
"Incarnation: Guardian of Ursoc", -- [1]
21706, -- [2]
}, -- [5]
{
"Survival of the Fittest", -- [1]
22422, -- [2]
}, -- [6]
{
"Pulverize", -- [1]
22425, -- [2]
}, -- [7]
},
["pvp"] = {
},
["bar"] = {
},
},
}```
How do I get number of profile records in this table?

The function below gives me "count 0 0", I expect 1 for "Profile_1"

Code:
`print("count " .. table.getn(PRF) .. " " .. #PRF)`
Thank you!

06-30-18, 09:17 AM   #2
LanceDH
An Aku'mai Servant

Join Date: Aug 2012
Posts: 31
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:
`local t = {"a", "b", "c"}print(#t); -- prints 3t[5] = "e";print(#t); -- still prints 3, because there is no key 4t["4"] = "d";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:
`local count = 0;for key, value in pairs(PRF) do   count = count + 1;endprint(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.

06-30-18, 10:04 AM   #3
alikim
A Fallenroot Satyr
Join Date: Jul 2015
Posts: 25
T h a n k s !

 WoWInterface » How to get element count for this table?

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts vB code is On Smilies are On [IMG] code is On HTML code is Off