lua-users home
lua-l archive

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

On Jan 9, 2010, at 8:27 AM, David Manura wrote:

> The "end)" syntax was always a little odd, but there are ways it could
> be avoided:
> local array = class ::
>    function __len(t) return end
>    function __newindex(t,i,val) rawset(,i,val) end
>    function __index(t,i) return rawget(,i) end
>    function __ipairs(t) return ipairs( end
>    function __init() return setmetatable({store={}},array) end
>  end
> where "::" is basically like a "function()" but allows omitting
> parenthesis in the call.

My first reaction is that I really like that syntax. Of course, what it then wants is not "in t do end" but rather call_with_environment.