lua-users home
lua-l archive

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

The documentation for table.concat implies that table.concat{x,y,z} is equivalent to x .. y .. z, but this isn't so when metatables are involved:

> t = setmetatable({}, { __concat = function(x, y)return x.x .. y end })
> t.x='foo'
> print(t .. 1 .. 1)
> table.concat{t,1,1}
stdin:1: bad argument #1 to 'concat' (table contains non-strings)
stack traceback:
        [C]: in function 'concat'
        stdin:1: in main chunk
        [C]: ?

Personally, as someone who doesn't do much string manipulation in Lua, I'd be equally happy with either a doc change or a behaviour change.