On Jul 12, 2016 4:36 PM, "Luiz Henrique de
Figueiredo" <lhf@tecgraf.puc-rio.br>
wrote:
>
> > I think there was a huge missed opportunity here. []
actually looks like a
> > table!
>
> It was like that in Lua 1:
> a = @f[ 10, 20, 30]
> was the same as
> t = { 10, 20, 30 }
> f(t)
> a = t
> See
> https://www.lua.org/ftp/refman-1.1.ps.gz
> https://www.lua.org/semish94.html
> section "Data types and variables"
>
If there were going to be new syntax, I feel it'd go
well with the discussion of arrays:
t = {x, y, z} --same as current meaning
a = [x, y, z] --means: a = array(x, y, z)
Where array() is something like:
function array(...)
local t = {...}
return setmetatable(t, {
__n = select('#', ...),
__index = <snip>,
__newindex = <snip>,
...etc...
})
end
I think Lua would benefit from a "standard" array
type, even if it is just a table. (Being standard does also mean
the possibility to use a more optimal internal representation.)
When everyone rolls their own, interoperability is difficult.
As much as I would like that, the syntax clashes with existing
statements.