Difference between revisions of "require"
(Create page) |
|||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | Opens and executes a | + | Opens and executes Lua modules. |
+ | |||
+ | Use periods to seperate folders. If the module is a lua file, don't use the .lua extension in the string passed to <code>require</code>. | ||
<source lang="lua"> | <source lang="lua"> | ||
− | require "foo" | + | require("foo") |
+ | require("subfolder.bar") | ||
</source> | </source> | ||
− | |||
− | |||
+ | LÖVE adds two loaders (before the Lua loaders) that search for modules in the [[love.filesystem|game and save directory]]. These loaders are not affected by Lua's <code>package.path</code>. The paths can be altered with [[love.filesystem.setRequirePath]] for Lua modules and [[love.filesystem.setCRequirePath]] for C modules, the latter only work on files located at [[love.filesystem.getSaveDirectory|save directory]]. | ||
+ | |||
+ | == Notes == | ||
+ | It's strongly recommended to use period as directory separator! Forward slashes ''accidently'' work, hence its usage is discouraged! | ||
+ | One of the reasons is that loading modules that are not Lua code files is only possible with dots as separator, and using dots and slashes at the same time might lead to mixing separators, and due to mixing require might load the same code multiple times. | ||
== See Also == | == See Also == | ||
− | [http://www.lua.org/pil/8.1.html Programming in Lua] | + | * [http://www.lua.org/manual/5.1/manual.html#pdf-require require on the Lua manual.] |
+ | * [http://www.lua.org/pil/8.1.html Programming in Lua.] | ||
+ | |||
+ | == Other Languages == | ||
+ | {{i18n|require}} |
Latest revision as of 03:56, 31 July 2023
Opens and executes Lua modules.
Use periods to seperate folders. If the module is a lua file, don't use the .lua extension in the string passed to require
.
require("foo")
require("subfolder.bar")
LÖVE adds two loaders (before the Lua loaders) that search for modules in the game and save directory. These loaders are not affected by Lua's package.path
. The paths can be altered with love.filesystem.setRequirePath for Lua modules and love.filesystem.setCRequirePath for C modules, the latter only work on files located at save directory.
Notes
It's strongly recommended to use period as directory separator! Forward slashes accidently work, hence its usage is discouraged! One of the reasons is that loading modules that are not Lua code files is only possible with dots as separator, and using dots and slashes at the same time might lead to mixing separators, and due to mixing require might load the same code multiple times.
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info