A Lua library is a file that returns a table. The function
require
is used for loading libraries. It takes
as a string the leafname of the file and it returns the table.
When called, it first checks package.loaded
to see if it has
already been loaded, and if it has it returns the table. If
it has not, it uses the string package.path
to search for the
library. This string is a comma-separated list of templates , filepaths
each containing the symbol ?
which is replaced by
the library's name. When RiscLua starts it reads the system
variable LUA_PATH5_4 for a default value for package.path
,
which is set to rlua:lib.?,?
.
Suppose you want to use your own libraries? Then you simply append
more templates to package.path
. For example, if you
want to use a library called mylib
which lives in the
same directory as your program, then start your program:
local path in package local append = "%s,%s.mylib.?" package.path = append (path, obey$dir ( ))Note how the format string
append
can be used as a function.
The function obey$dir
returns the directory containing
the file containing the program.