Pular para o conteúdo

loadfile

Compartilhada Arquivos

Compila um arquivo Lua do resource e devolve como função, sem executá-lo.

function loadfile ( string caminho [, table ambiente ] )
NomeTipoPadrãoDescrição
caminhostring—Caminho relativo à pasta do resource. Valem as mesmas regras de caminho do fileOpen.
ambientetable—Tabela que o chunk enxerga como seus globais. Se for omitida, o chunk compartilha os globais do resource que o carregou.

Este não é o loadfile padrão do Lua — aquele foi removido. O MTAX põe uma versão própria no lugar: o caminho é resolvido a partir da pasta do resource e não pode sair dela, e só código-fonte é aceito (bytecode pré-compilado é recusado). O chunk recebe o nome do caminho normalizado, então um erro levantado dentro dele aponta para o arquivo. Nada roda até você chamar a função devolvida.

O arquivo é lido do disco, então qualquer arquivo dentro da pasta do resource pode ser carregado, até 50 MiB.

No servidor, o chunk compilado como função; em caso de falha nil mais uma mensagem de erro, cannot open <caminho> quando o caminho é inválido ou o arquivo não existe, e a mensagem do compilador quando o arquivo não compila.

local chunk, erro = loadfile("dados/config.lua")
if chunk then
local config = chunk() -- só agora o arquivo roda
outputDebugString(config.nome)
else
outputDebugString("config falhou: " .. erro)
end
  • fileOpen — Abre um arquivo existente.
  • fileCreate — Cria um arquivo novo, ou zera um que já exista.
  • fileClose — Grava as alterações pendentes no disco e fecha o arquivo.
  • fileFlush — Grava no disco o que foi escrito até agora, sem fechar o arquivo.
  • fileRead — Lê bytes a partir da posição atual.
  • fileWrite — Escreve uma ou mais strings a partir da posição atual.
  • fileGetContents — Devolve o conteúdo inteiro do arquivo.
  • fileGetSize — Devolve o tamanho do arquivo em bytes.