Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Import functions from table as local functions in Lua

Tags:

scope

lua

I want to achieve this (import functions from util table as local values):

function blah () 
 local x = util.x
 local y = util.y
 ...
end

without having to reference each function explicitly, e.g. something like:

function blah()
  for name,f in util do 
    ???
  end
end

Unfortunately there is no local table that I could set the way one can set _G['function_name_as_string']. Ideas?


1 Answers

As far as I know, you can't set local variables by name. You'd have to do it explicitly.

Fyi, the reason for there not being a _L table similar to _G is because of the lexical scoping. It is possible to have the same local variable names in multiple scopes, yet they aren't the same variables. You would have to have a setlocal("foo", xxx) kind of thing, but Lua doesn't have that.

like image 169
August Lilleaas Avatar answered Oct 25 '25 22:10

August Lilleaas