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