lua-users home
lua-l archive

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


Peter Melnichenko <mpeterval@gmail.com> wrote:
> The best solution is to allow non-portable globals for that line only:
> 
>     local unpack = unpack or table.unpack -- luacheck: compat
> 
> -- Peter

Thanks for this. I’ll look more into the options to tell luacheck what to
do for specific lines in this way.

That said, I now wonder about something more general. When people write in
Lua `local x = y or z`, that’s often an idiom for cases where y is likely
to be nil. Or, at least, where y can be nil, but the program should
continue without trouble by assigning z to x instead of y. In my mind, it
isn’t clear whether this *should* trigger a warning, since presumably the
programmer puts that “or z” in there to address the danger of y being nil.

Thoughts?

Thanks, Peter
-- 
We have not been faced with the need to satisfy someone else's
requirements, and for this freedom we are grateful.
    Dennis Ritchie and Ken Thompson, The UNIX Time-Sharing System