Creating and loading modules
Modules allow Lua code to be split across multiple files. The codebase of any non-trivial application is going to get large, and having modules allows the code to be organized and keeps it maintainable. When doing OOP, each class can be its own module. Keeping every class in its own file will keep your projects easy to navigate and maintain.
Note
Lua has several ways of creating and loading modules. Only one method is discussed here. Read more about how modules work at http://lua-users.org/wiki/ModulesTutorial
Creating a module
A module is just a normal Lua table; a module file is a Lua file which returns a table. For us, this means returning an anonymous table. We are going to create a new file, character.lua
, and declare a character class in this file. The definition of the character class is as follows:
-- It's important that the table retuned be local! local character = {} character.health = 20 character.strength = 5 character.name = "" character.new = function...