Ir para conteúdo

Livraria - Scripting Lua, Funções Básicas


Poccnn

Posts Recomendados

As Livrarias de Lua

A livraria base:

print(args)

Imprime cada um dos argumentos passados.

error(msg[,n])

Fecha o programa ou a função chamada em modo protegido.

assert(v[,msg])

Chama à função error caso v seja nil ou false e envia uma mensagem (msg).

type(x)

Retorna o tipo de dado de x.

tostring(x)

Converte x em uma string.

tonumber(x[,b])

Converte uma string com números para números na base b.

unpack(t)

Retorna todos os valores da tabela em separado.

ipairs(t)

Retorna um iterador que pega o index e value de uma array (t) em ordem numérica.

pairs(t)

Retorna um iterador que pega a key e value da tabela (t) sem ordem especifica.

next(t[,inx])

Se inx for nil [default] retorna o primeiro valor index, value da tabela t; se inx for o presente índice, então retorna o próximo index,value ou nil caso tenha terminado.

require (pkgname)

Carrega um pacote.

dofile ([filename])

Carrega e executa o conteúdo de um arquivo.

load (func [, chunkname])

Carrega uma string e executa uma string.

loadfile (filename)

Carrega o arquivo filename.

loadstring (s [, name])

Carrega a string s.

pcall (f [, args ])

Chama a função (f) em modo protegido.

xpcall (f, h)

 

 

 

 

Exemplos

print(args): imprime os valores declarados.

print(123,”ola”,true,function() return ‘function’end,{}) >> 123     ola     true   function: 0095B6B8  table: 00959158

 

 

error(msg[,nivel]): essa função serve para parar o programa ou a função em modo protegido e enviar uma mensagem de erro.

error.jpg

 

 

O nivel da mensagem de erro aloca informações a mais.

·        Nível 0 – Não adiciona localização do erro.

·        Nível 1 [padrão] – chama para a função o nome do arquivo mais linha do erro.

·        Nível 2 – insere a linha onde se encontra a chamada da função que se deu o erro.

 

 

 

abaixo está escrito a mensagem de erro que gera essa função em cada nível.

Nível 0:

wlua: Parametro 'algo' não é um argumento valido.

stack traceback:

         [C]: in function 'error'

         wxtest.wx.wlua:5: in function 'digaAlgo'

         wxtest.wx.wlua:9: in main chunk

         [C]: ?

 

 

Nível 1:

wlua: wxtest.wx.wlua:5: Parametro 'algo' não é um argumento valido.

stack traceback:

         [C]: in function 'error'

         wxtest.wx.wlua:5: in function 'digaAlgo'

         wxtest.wx.wlua:9: in main chunk

         [C]: ?

 

 

Nível 2:

wlua: wxtest.wx.wlua:9: Parametro 'algo' não é um argumento valido.

stack traceback:

         [C]: in function 'error'

         wxtest.wx.wlua:5: in function 'digaAlgo'

         wxtest.wx.wlua:9: in main chunk

         [C]: ?

 

 

assert(v[,msg]):

 

 

assert.jpg

 

 

type(x):

print(type(true)) >> boolean

print(type({})) >> table

print(type(function() end)) >> function

print(type(“ola”)) >> string

print(type(123)) >> number

 

 

tostring(x):

tostring(true) >> true

tostring(123) >> 123

tostring({}) >> table

tostring(function()end) >> function

 

 

tonumber(x[,b]):

tonumber(“123”) >> 123

tonumber(“12”,8) >> 10

tonumber(“ola”) >> nil

 

 

unpack(t):

local str = {84,105,98,105,97}

local a1,a2,a3,a4,a5 = unpack(str)

print(a1,a2,a3,a4,a5) >> 84 105 98 105 97

 

 

ipairs(t): É um iterador que funciona progressivamente em ordem numérica.

str = {1,2,3,4,5,6,7,8,9}

for k in ipairs(str) do

         print(k)

end

>> 1 2 3 4 5 6 7 8 9

 

 

str = {[1] = 1, [2] = 2, [100] = 100,  [23] = 23}

for k,v in ipairs(str) do

         print(k,v)

end

>> 1 2

 

 

pairs(t): É um iterador que não segue uma ordem.

str = {1,2,3,4,5,6,7,8,9}

for k in pairs(str) do

         print(k)

end

>> 7 1 2 4 8 9 5 3 6

 

 

next(t[,index])

next.thumb.jpg.e089e8754b3a91d5f2777bb2cef85e45.jpg

 

require(pkgname):

package.cpath = package.cpath..";./?.dll;./?.so;../lib/?.so;../lib/vc_dll/?.dll;../lib/bcc_dll/?.dll;../lib/mingw_dll/?.dll;"

require("wx")

 

 

dofile ([filename]):

 

 

dofile.jpg

 

load(func [, chunkname]):

 

load.jpg

 

loadfile(filename):

 

loadfile.jpg

 

loadstring(s [, name]):

print(loadstring("print \'ola\'")) >> function: -- somente carregou a string

print(loadstring("print \'ola\'")()) >> ola -- executou a função carregada.

 

 

pcall(f [, args ]):

pcall(print,"oi", "ola") >> oi ola

 

 

xpcall(f, h):

 

 

 

xpcall.jpg

xpcall.jpg.71a87b8ad52d93e7ba061fa6b4b723bd.jpg

loadfile.jpg.5c05d5d7ee91f7f8075997f2f8490819.jpg

load.thumb.jpg.1ebb180c8d5e81070cb3dd3cc5292efd.jpg

dofile.jpg.bb9a027530b83361189de1ed5a9cfc70.jpg

assert.thumb.jpg.61df43bcddcbd3a9b36552bd5012bf52.jpg

error.thumb.jpg.acab8ee48d52edb4cd577c3f15ca2c97.jpg

next.thumb.jpg.e089e8754b3a91d5f2777bb2cef85e45.jpg

Editado por Poccnn
Link para o comentário
Compartilhar em outros sites

  • Poccnn featured e pinned this tópico
×
×
  • Criar Novo...