Lua - How do I dynamically call a module?
lua, module, oop
Solution
You can require any time:
function create(zebraModuleName)
zebraType = require(zebraModuleName)
print(zebraType .new())
end
print(create("avar"))
print(create("bvar"))
Problem
Here's some much-simiplified Lua code I'm working with. I need to know how to dynamically call another module ('zebra'): ``` avar = require "avar" bvar = require "bvar" function create(zebra) print(zebra.new()) end print(create(avar)) ``` And here are two modules: ``` local Avar = {} function Avar.new() return "avar" end return Avar local Bvar = {} function Bvar.new() return "new" end function Bvar.old() return "old" end return Bvar ``` If I try to pass in the string "avar" to my 'create' function, it doesn't work. If I pass in the word 'avar' with no quotes, it does work, however, I don't understand what avar with no quotes is? It seems to be a blank table? Not sure how to pass a blank table as an argument in my main program. But maybe I'm totally on the wrong path. How do I dynamically call modules?