Reputation: 49
If I do something wrong with the formatting or anything else, sorry, I don't use this site often.
I'm trying to make a function in lua that with take a name I give it, and create a subtable with that name, and when I tried something like this it just made the absolute name I put in the function's code.
NewSubtable =
function(SubtableName)
Table.SubtableName = {} --Creates a subtable called SubtableName
end
How can I make this create a subtable that is called by the name I give in the function when I use it? Is there an indicator or something to let the code know not to use the name given, but to use the variable assigned when I use the function?
EDIT: So whenever I try this, I get the the result "table index is nil" and it points to the error on line 4
I went and tested this but with a different input type, and it was just my fault. I didn't think that strings would the the value type you'd need for what I'm doing. My problem is solved.
Complete code:
Items = {}
NewWeapon = function(id, name, desc, minDMG, maxDMG)
Items[id] = {}
Items[id].Name = name
Items[id].Desc = desc
Items[id].MinDMG = minDMG
Items[id].MaxDMG = maxDMG
end
NewWeapon(Test, "test", "test", 1, 1)
Upvotes: 2
Views: 290
Reputation: 1820
Table.SubtableName
is actually a syntactic sugar for Table['SubtableName']
. To use the contents of variable SubtableName use the idom Table[SubtableName]
.
Upvotes: 5