Difference between revisions of "love.filesystem.load (Português)"

(versão inicial)
 
m (translation update)
 
Line 1: Line 1:
Carrega um arquivo (mas não executa).
+
<span style="color: #597E9A; font-size: 18pt">love.filesystem.load</span>
 +
{{#set:RealLink=love.filesystem.load (Português)}}
 +
{{#set:DisplayName=love.filesystem.load}}
 +
Carrega um arquivo lua (mas não executa).  
 
== Função ==
 
== Função ==
 
=== Sinopse ===
 
=== Sinopse ===
Line 6: Line 9:
 
</source>
 
</source>
 
=== Argumentos ===
 
=== Argumentos ===
{{param|string|nome|O nome (e caminho) do arquivo.}}
+
{{param|string (Português)|nome|O nome (e caminho) do arquivo|string}}
=== Retornos ===
+
=== Retorna ===
{{param|function|bloco|Os dados carregados.}}
+
{{param|function (Português)|bloco|O bloco carregado|função}}
 
== Exemplo ==
 
== 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.
+
É 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 () depois dele.
  
Além disso, é importante notar que os arquivos carregados podem retornar valores. Por exemplo, o seguinte arquivo:
+
Além disso, é importante notar que os arquivos carregados podem retornar valores. Por exemplo, o seguinte arquivo:  
 
<source lang="lua">
 
<source lang="lua">
 
return 1+1
 
return 1+1
Line 20: Line 23:
  
 
<source lang="lua">
 
<source lang="lua">
chunk = love.filesystem.load( name ) -- Carrega o bloco
+
bloco = love.filesystem.load( nome ) -- carrega o bloco
local resulto = chunk() -- executa o bloco
+
local resultado = bloco() -- executa o bloco
print('resulto: ' .. tostring(resulto)) -- imprime 'resulto: 2'
+
print('resultado: ' .. tostring(resultado)) -- imprimie 'resultado: 2'
 
</source>
 
</source>
  
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''':
+
Se houver um erro de sintaxe no arquivo carregado, haverá uma tela azul. Para continuar o jogo se o arquivo não for válido (por exemplo se ele for escrito pelo usuário) você pode proteger a chamada do bloco com '''pcall''':
  
 
<source lang="lua">
 
<source lang="lua">
bloco = love.filesystem.load( nome ) -- load o bloco
+
local ok, bloco, resultado
local ok, errMsg = pcall(chunk) -- executa o bloco com segurança
+
ok, bloco = pcall( love.filesystem.load, nome ) -- carrega o bloco com segurança
 +
if not ok then
 +
  print('O seguinte erro aconteceu: ' .. tostring(bloco))
 +
else
 +
  ok, resultado = pcall(bloco) -- executa o bloco com segurança
  
if not ok then -- será false se existir um erro
+
  if not ok then -- será falso se houver um erro
  print('O seguinte erro aconteceu: ' .. tostring(errMsg))
+
    print('O seguinte erro aconteceu: ' .. tostring(resultado))
else
+
  else
  print('O resultado do bloco carregado é: ' .. tostring(errMsg))
+
    print('O resultado do carregamento é: ' .. tostring(resultado))
 +
  end
 
end
 
end
 
</source>
 
</source>
  
 
== Veja Também ==
 
== Veja Também ==
* [[parent::love.filesystem (Português)]]
+
* [[parent::love.filesystem (Português)|love.filesystem]]
 
[[Category:Functions]]
 
[[Category:Functions]]
{{#set:Description=Carrega um arquivo (mas não executa).)}}
+
{{#set:Description=Carrega um arquivo lua (mas não executa). }}
== Outros Idiomas ==
+
{{#set:Since=000}}
 +
== Outras Línguas ==
 
{{i18n|love.filesystem.load}}
 
{{i18n|love.filesystem.load}}

Latest revision as of 16:01, 14 September 2014

love.filesystem.load


Carrega um arquivo lua (mas não executa).

Função

Sinopse

bloco = love.filesystem.load( nome )

Argumentos

string nome
O nome (e caminho) do arquivo

Retorna

função bloco
O bloco carregado

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 () depois dele.

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:

bloco = love.filesystem.load( nome ) -- carrega o bloco
local resultado = bloco() -- executa o bloco
print('resultado: ' .. tostring(resultado)) -- imprimie 'resultado: 2'

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

local ok, bloco, resultado
ok, bloco = pcall( love.filesystem.load, nome ) -- carrega o bloco com segurança
if not ok then
  print('O seguinte erro aconteceu: ' .. tostring(bloco))
else
  ok, resultado = pcall(bloco) -- executa o bloco com segurança

  if not ok then -- será falso se houver um erro
    print('O seguinte erro aconteceu: ' .. tostring(resultado))
  else
    print('O resultado do carregamento é: ' .. tostring(resultado))
  end
end

Veja Também


Outras Línguas