love.filesystem.load (Português)

Carrega um arquivo (mas não executa).

Função

Sinopse

bloco = love.filesystem.load( nome )

Argumentos

string nome
O nome (e caminho) do arquivo.

Retornos

function bloco
Os dados carregados.

Exemplo

É importante notar que love.filesystem.load não invoca o código, somente cria uma função (um bloco) que contém o conteúdo do arquivo. Para executar esse bloco é necessário colocar () após.

Além disso, é importante notar que os arquivos carregados podem retornar valores. Por exemplo, o seguinte arquivo:

return 1+1

Irá retornar 2 quando chamado assim:

chunk = love.filesystem.load( name ) -- Carrega o bloco
local resulto = chunk() -- executa o bloco
print('resulto: ' .. tostring(resulto)) -- imprime 'resulto: 2'

Se houver um erro de sintaxe no bloco carregado haverá uma tela azul. Para continuar o jogo se o arquivo não é válido (por exemplo se ele é escrito pelo usuário) você pode proteger a chamada do bloco com pcall:

bloco = love.filesystem.load( nome ) -- load o bloco
local ok, errMsg = pcall(chunk) -- executa o bloco com segurança

if not ok then -- será false se existir um erro
  print('O seguinte erro aconteceu: ' .. tostring(errMsg))
else
  print('O resultado do bloco carregado é: ' .. tostring(errMsg))
end

Veja Também

Outros Idiomas