lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Yeah I was kind of assuming this was the definitive answer, which is good because it is what I assumed. TO my mind what this says is that the "sequence-ness" comes and goes depending upon the current state of the table:

x = { [1]=1, [3]=3 } -- not an array (hole)
x[2]=2 -- x is now an array (1..3)
x.foo = "foo" -- Still an array, non positive numeric keys are ignored in def
x[1] = nil -- No longer an array (doesn't start at one)

--Tim


On Jun 9, 2013, at 7:04 AM, Dirk Laurie <dirk.laurie@gmail.com> wrote:

Not vague, but not labouring the point either. Let's say the Manual
is mathematically precise on the subject.

   We use the term sequence to denote a table where the set of all
   positive numeric keys is equal to {1..n} for some integer n,
   which is called the length of the sequence.

Actually, the routines that depend on this property are not confused
by positive numeric keys that can't be taken for integers, but the
above is what it says.