Loads a Lua file (but does not run it).
chunk, errormsg = love.filesystem.load( name )
string name
function chunk
string errormsg (nil)
It is important to note that love.filesystem.load does not invoke the code, it just creates a function (a 'chunk') that will contain the contents of the file inside it. In order to execute the chunk, you have to put () behind it.
Also, it is worth noting that loaded files can return values. For example, the following file:
return 1+1
Will return 2, when called like this:
chunk = love.filesystem.load( name ) -- load the chunk local result = chunk() -- execute the chunk print('result: ' .. tostring(result)) -- prints 'result: 2'
This bluescreens if there is a syntax error in the loaded file. If you want to continue your game if the file is not valid (for example if you expect it to be written by users), you can protect the calling of the chunk with pcall:
local ok, chunk, result ok, chunk = pcall( love.filesystem.load, name ) -- load the chunk safely if not ok then print('The following error happend: ' .. tostring(chunk)) else ok, result = pcall(chunk) -- execute the chunk safely if not ok then -- will be false if there is an error print('The following error happened: ' .. tostring(result)) else print('The result of loading is: ' .. tostring(result)) end end
© 2006–2016 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.filesystem.load