lua-users home
lua-l archive

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


>>> This is one of those cases where function declaration syntax inside a
>>> table would work for some kinds of use too:
>>>
>>> switch(c, {
>>>   function p() print(a) end;
>>>   function q() os.exit() end;
>>>   function e() eval(args) end;
>>> })
>>>
>>> but that's dependent on the cases being suitable as table keys.
>>
>> I.e. the cases must not be nil of NaN?
>
> How did the nil make it past my assert?
>

OK, my point was put too cryptically.  Let's try again.

You said: "dependent on the cases being suitable as table keys".
But _all_ Lua values, except nil and NaN, are valid table keys.
For example,

tbl = { [function(a) print(a) end] = 'just print it' }

is valid, and `next(tbl)"hello"` prints "hello".

So, I don't understand what you mean by "dependent on the cases being
suitable as table keys".