lua-users home
lua-l archive

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


On Mar 19, 2013, at 2:51 PM, Petite Abeille <petite.abeille@gmail.com> wrote:

> On Mar 19, 2013, at 9:23 PM, William Sumner <prestonsumner@me.com> wrote:
> 
>> Lua's behavior of silently returning nil for undefined variables can lead to bugs that propagate undetected. Has thought been given to changing this in a major version update, or are there reasons for retaining this behavior? I'm aware of strict.lua, but it only provides safety for global/module scope.
> 
> Something like this perhaps?
> 
> do
>  local error = error
>  local print = print
>  local _ENV = setmetatable( {}, { __index = function( self, aKey ) error( ( 'Undefined %q' ):format( aKey ) ) end } )
> 
>  foo = 1
>  print( 1, foo )
>  print( 2, bar )
> end

Like strict.lua, this only covers undefined globals.

Preston