love.filesystem.load (Français)
Disponible depuis LÖVE 0.5.0 |
Ce-tte function n'est pas supporté-e par des versions plus anciennes. |
Charge un fichier Lua (mais ne l’exécute qu'optionnellement).
Contents
Fonction
Synopsis
chunk, errormsg = love.filesystem.load( name )
Arguments
string (Français) name
- Le nom (et chemin) du fichier.
Retourne
function (Français) chunk
- le bloc chargé.
string (Français) errormsg (nil)
- Le message d'erreur si le fichier n'a pas pu être ouvert.
Exemple
Il est important de noter que love.filesystem.load n'invoque pas le code, il crée juste une fonction (un 'bloc' (chunk en anglais)) qui va contenir le contenu du fichier. Pour l’exécuter, vous devez ajouter () derrière.
Il est également important de noter que les fichiers chargés peuvent retourner des valeurs. Par exemple, le fichier suivant :
return 1+1
Retournera 2, lors qu’appelé de cette façon :
chunk = love.filesystem.load( name ) -- charge le v
local result = chunk() -- exécute le bloc
print('résultat: ' .. tostring(result)) -- affiche 'résultat : 2'
Cela provoque un écran bleu si il y a une erreur de syntaxe dans le fichier chargé. Si vous désirez continuer votre jeu lorsque le fichier n'est pas valide (par exemple si vous vous attendez à ce qu'il soit écrit par les utilisateurs), vous pouvez protéger l'appel au bloc à l'aide de pcall :
local ok, chunk, result
ok, chunk = pcall( love.filesystem.load, name ) -- Charge le bloc de façon sécurisée
if not ok then
print('L'erreur suivante s'est produite : ' .. tostring(chunk))
else
ok, result = pcall(chunk) -- exécute le bloc en toute sécurité
if not ok then -- sera false (faux) si il y a une erreur
print('L'erreur suivante s'est produite : ' .. tostring(result))
else
print('Le résultat du chargement est : ' .. tostring(result))
end
end
Voir également
Autres langues
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