Difference between revisions of "love.filesystem.load (Français)"
(Created page with "{{newin (Français)|0.5.0|050|type=function}} Charge un fichier Lua (mais ne l’exécute qu'optionnellement). == Fonction == === Synopsis === <source lang="lua"> chunk,...") |
m (→Exemple: Fixed syntax error.) |
||
Line 23: | Line 23: | ||
<source lang="lua"> | <source lang="lua"> | ||
− | chunk = love.filesystem.load( name ) -- charge le v | + | local chunk = love.filesystem.load( name ) -- charge le v |
local result = chunk() -- exécute le bloc | local result = chunk() -- exécute le bloc | ||
− | print( | + | print("résultat: " .. tostring(result)) -- affiche 'résultat : 2' |
</source> | </source> | ||
Line 34: | Line 34: | ||
ok, chunk = pcall( love.filesystem.load, name ) -- Charge le bloc de façon sécurisée | ok, chunk = pcall( love.filesystem.load, name ) -- Charge le bloc de façon sécurisée | ||
if not ok then | if not ok then | ||
− | print( | + | print("L'erreur suivante s'est produite : " .. tostring(chunk)) |
else | else | ||
ok, result = pcall(chunk) -- exécute le bloc en toute sécurité | 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 | if not ok then -- sera false (faux) si il y a une erreur | ||
− | print( | + | print("L'erreur suivante s'est produite : " .. tostring(result)) |
else | else | ||
− | print( | + | print("Le résultat du chargement est : " .. tostring(result)) |
end | end | ||
end | end |
Latest revision as of 18:57, 29 September 2022
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 :
local 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