loadfile
Compila um arquivo Lua do resource e devolve como função, sem executá-lo.
Sintaxe
Seção intitulada “Sintaxe”function loadfile ( string caminho [, table ambiente ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
caminho | string | — | Caminho relativo à pasta do resource. Valem as mesmas regras de caminho do fileOpen. |
ambiente | table | — | 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.
Retorno
Seção intitulada “Retorno”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.
Exemplo
Seção intitulada “Exemplo”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)endVeja também
Seção intitulada “Veja também”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.