love.filesystem.load (Русский)
Available since LÖVE 0.5.0 |
This function is not supported in earlier versions. |
Загружает файл (но не запускает его).
Функция
Вид
chunk = love.filesystem.load( name )
Аргументы
string name
- Имя (и путь) файла.
Возвращает
function chunk
- Загруженный кусок.
string errormsg (nil)
- Сообщение об ошибке, если файл не может быть открыт.
Пример
Важно отметить, что love.filesystem.load не вызывает код, она просто создает функцию, в которой будет находиться содержимое файла. Для того, чтобы выполнить код чанка достаточно просто вызвать полученную функцию: chunk().
Кроме того, стоит отметить, что загруженные файлы могут возвращать значения. Например этот файл:
return 1+1
Вернет 2, когда будет вызван таким образом:
chunk = love.filesystem.load( name ) -- загружает кусок
local result = chunk() -- выполняет кусок
print('result: ' .. tostring(result)) -- выводит 'result: 2'
Появится экран с ошибкой, если в выполняемом файле есть ошибка в коде. Чтобы этого избежать, используйте функцию pcall:
local ok, chunk, result
ok, chunk = pcall( love.filesystem.load, name ) -- безопасно загружаем файл
if not ok then
print('The following error happened: ' .. tostring(chunk))
else
ok, result = pcall(chunk) -- безопасно выполняем загруженный код
if not ok then -- если произошла какая-то ошибка, то выводим её
print('The following error happened: ' .. tostring(result))
else
print('The result of loading is: ' .. tostring(result))
end
end
Смотрите также
Другие языки
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