Livraria - Scripting Lua - Matemática e Tabelas

Poccnn
Por Poccnn
em Aulas

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

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 !!!

 

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

Arbams02

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/06/15Posts: 5Gênero: MasculinoChar no Tibia: Necrosario

Muito bom ^^