lua-users home
lua-l archive

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



On 3 Aug 2007, at 13:12, Ketmar Dark wrote:

How does one generalize that to insert a value anywhere in a varargs?
rewrite table.insert in Lua, so it will use xxx.n, not #n. something
like:

local function NewInsert (tbl, position, value)
  if position <= tbl.n then
    for f = tbl.n, position, -1 do tbl[f+1] = tbl[f]; end;
  end;
  tbl[position] = value;
  return tbl;
end;

I'd simply use (t.n is the number of elements in the table):

local function new_insert(t, val, pos)
  pos = pos or t.n + 1
  table.insert(t, pos, val)
  t.n = t.n + 1
  return t
end

(with 'pos' as last argument to leave it nil if I want to insert at the end, as with table.insert)

Works OMM. But maybe I miss something.

Regards
-- Stefan