Ir para conteúdo

Livraria - Scripting Lua - Matemática e Tabelas


Poccnn

Posts Recomendados

As Livrarias de Lua

 

 

A livraria básica de matemática disponibilizada por lua:

math.abs(x)

Retorna o valor absoluto de x

math.mod(x,y)

É um modulo que subtrai o valor de y em x até que não seja mais possível sua subtração [y <= x].

math.floor(x)

Arredonda para o valor inteiro menor e mais próximo.

math.ceil(x)

Arredonda para o valor inteiro maior e mais próximo.

math.min(args)

Retorna o menor valor declarado nos argumentos.

math.max(args)

Retorna o maior valor declarado nos argumentos.

math.random(x,y)

Retorna qualquer um dos valores entre x e y.

 

 

Obs: Existem mais funções na biblioteca de matemática disponibilizada por lua, mas não iremos tratar sobre elas por serem funções exponenciais e muito especifica a área da trigonometria.

A livraria de tabelas.

table.insert(t, [i,] v)

Insere o valor v na posição (index) i, caso seja declarada [o valor padrão é o ultimo valor da tabela], dentro da tabela t.

table.remove(t [,i])

Remove o elemento na tabela t da posição i, caso seja declarada; se não for, ele irá remover o ultimo valor da tabela.  

table.maxn(t)

Retorna o maior valor de index existente na tabela, ou zero, caso não tenha nenhum index numérico.

table.sort(t [,cf])

Ordena os index dos elementos da tabela usando uma função de comparação - função essa que pode ser omitida: function cf(e1, e2) [default: ' < ']

table.concat(t [,s [,i [,j]]])

Retorna uma string criada pela concatenação dos elementos da tabela desde a posição t[i] até t[j] [default: i =1 , j = #t] separados pela string s; retorna uma string vazia se não existir elementos para serem concatenados ou se i > j.

 

 

 

 

Exemplos da livraria matemática

 

 

math.abs(X):

print(math.abs(5/8)) >> 0.625

 

 

math.mod(x,y):

print(math.mod(20,8)) >> 4   – valor restante >> 20-8 = 12 >> 12-8 = 4 << quatro não pode ser mais subtraído por 8.

print(math.mod(8,3) >> 2      – 8-3 = 5 >> 5-3 = 2

print(math.mod(9,4)) >> 1     – 9-4 = 5 >> 5-4 = 1

print(math.mod(10,2)) >> 0   – 10-2 = 8 >> 8-2 = 6 >> 6-2 = 4 >> 4-2 = 2 >> 2-2 = 0

 

 

math.floor(X):

print(math.floor(1.99)) >> 1

print(math.floor(1.1)) >> 1

print(math.floor(2.00001)) >> 2

 

 

math.ceil(X):

print(math.ceil(1.99)) >> 2

print(math.ceil(1.49)) >> 2

print(math.ceil(1.00001) >> 2

print(math.ceil(0.99999)) >> 1

 

 

math.min(args):

print(math.min(100,50,2,1,0,5)) >> 0

print(math.min(9,8,7,6,5,4)) >> 4

 

 

math.max(args):

print(math.max(100,50,2,1,0,5)) >> 100

print(math.max(9,8,7,6,5,4)) >> 9

 

 

math.random(x,y):

print(math.random(1,10)) >> pode ser qualquer numero entre 1 e 10.

print(math.random(-10,-1)) >> aceita valores negativos, mas ele tem que iniciar do valor negativo maior para o menor (sempre em direção ao zero).

 

 

Exemplos da livraria de tabelas

 

 

 

 

table.insert(t, [i,] v): com uso do index.

str = {}

table.insert(str,1,"oi")

print(str[1]) >> oi

 

 

str = {}

table.insert(str,1,"oi")

table.insert(str,2,"ola")

print(str[1]) >> oi

print(str[2]) >> ola

 

 

str = {}

table.insert(str,1,"oi")

table.insert(str,3,"ola")

print(str[1]) >> oi

print(str[2]) >> nil

 

 

str = {}

table.insert(str,1,"oi")

table.insert(str,1,"ola")

print(str[1]) >> ola

 

 

table.insert(t, [i,] v): sem uso do index.

str = {}

table.insert(str,"oi")

print(str[1]) >> oi

 

 

str = {}

table.insert(str,"oi")

table.insert(str,"ola")

print(str[1]) >> oi

print(str[2]) >> ola

 

 

table.remove(t [,i]): com uso do index.

str = {[1] = 'oi'}

print(str[1]) >> oi

table.remove(str,1)

print(str[1]) >> nil

 

 

str = {[1] = 'oi', [2] = "ola"}

table.remove(str,1)

print(str[1]) >> ola

 

 

table.remove(t [,i]): sem uso do index.

str = {[1] = 'oi'}

print(str[1]) >> oi

table.remove(str)

print(str[1]) >> nil

 

 

str = {[1] = 'oi', [2] = “ola”}

table.remove(str)

print(str[1]) >> oi

 

 

table.maxn(t):

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

print(table.maxn(str)) >> 100

 

 

table.sort(t [,cf]):

str = {6,2,5,4,3,1} -- embaralhado

table.sort(str)

print(unpack(str)) >> 1 2 3 4 5 6 -- ordenado

 

table.concat(t [,s [,i [,j]]]):

str = {"ola", "mundo", "Aula", "de", "scripting", "lua", "!!!"}

print(table.concat(str," ",3,#str)) >> Aula de scripting lua !!!

 

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

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