|
(IRC logs) <SoniEx2> I wish Lua had a way to count keys in a table <SoniEx2> so for example {1,2,3} would be 3, {[0]=0,1,2,3} would be 4, {A = 1, B = 2, C = 3} would be 3 <SoniEx2> etc <SoniEx2> I can use __newindex to count key adds <SoniEx2> but there's no __remindex or something <SoniEx2> and it wouldn't help with what I wanna do <SoniEx2> sure, I can use pairs() and a counter but that's slow :/ <kansuu> should be possible with proxy table? <SoniEx2> kansuu, won't help when you're taking in random tables <kansuu> nope, then you'd need to count the number of entries first anyway <mniip> except the part where lua already knows the value internally <SoniEx2> see? this is why lua needs to count when ppl set things and stuff <kansuu> it doesn't _need_ to, it'd just be an optimization <kansuu> for your specific use case <SoniEx2> if setting to nil and it wasn't already nil, decrement, if setting to non-nil and it wasn't non-nil, increment <SoniEx2> then provide a table.nkeys() <SoniEx2> or a ## operator |