Module Definition¶
- class halmd.utility.module(new)¶
Define new module.
Parameters: new (function) – module constructor Returns: module table Example:
local module = require("halmd.utility.module") local M = module(function(args) -- create and return instance end) return M
- halmd.utility.module.loader(name)¶
This function provides a lazy module loader, which may be used to load submodules on demand. For a namespace, one defines a loader module:
-- halmd/mdsim/potentials/init.lua local module = require("halmd.utility.module") return module.loader("halmd.mdsim.potentials")
The loader module then loads submodules upon use:
local potentials = require("halmd.mdsim.potentials") -- This loads the lennard_jones module. local lennard_jones = potentials.lennard_jones
If a submodule cannot be loaded, the loader raises an error.
Parameters: name (string) – fully qualified name of module Returns: module table with metatable containing module loader