×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Tutorial] Funções Lua
1 / 5 › »
[Tutorial] Funções Lua
Esh
« Censeur »
1403282880000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#1
  0
  • math
  • os
  • string
  • table
  • regex
Este tópico foi criado com o intuito de explicar detalhadamente as funções disponíveis na api lua, as bibliotecas comentadas aqui são do lua e não do transformice.


Math

    Compreende todas as funções matemáticas disponíveis no lua, com ela é possível fazer calculos de maior complexidade sem perder máximização de tempo.

math.abs(n)
    Retorna o número n absoluto e não negativo.

      > math.abs(-10)
      >> 10

math.acos(n)
    Retorna o coseno invertido do número n. O valor retornado é em radianos.

      > math.acos(0)
      >> 1.5707964

math.asin(n)
    Retorna o seno invertido do número n. O valor retornado é em radianos.

      > math.asin(1)
      >> 1.5707964

math.atan2(x, y)
    Retorna o arco tangente de x/y.

      > math.atan(5,3)
      >> 1.3734008

math.ceil(n)
    Retorna um número inteiro maior que e mais próximo de n.

      > math.ceil(5.3)
      >> 6

math.cos(n)
    Retorna o coseno do número n. O valor retornado é em radianos.

      > math.cos(5)
      >> 0.2836622

math.deg(n)
    Converte o número n em graus.

      > math.deg(1.5707964)
      >> 90.00001

math.exp(n)
    Retorna o número e(2.7182817) elevado ao número n.

      > math.exp(5)
      >> 148.41312

math.floor(n)
    Retorna um número inteiro menor que e mais próximo de n.

      > math.floor(5.3)
      >> 5

math.fmod(x, y)
    Retorna o resto da divisão de x e y, arrendondando em direção a 0.

      > math.fmod(5,2)
      >> 1

math.huge
    Retorna o maior número que qualquer outro.

      > math.huge
      >> inf

math.ldexp(n, e)
    Retorna n*2^e

      > math.ldexp(6, 2)
      >> 24

math.log(n)
    Retorna o logaritimo natural de n.

      > math.log(8)
      >> 2.0794415

math.max(x, y)
    Retorna o maior número entre x e y.

      > math.max(5, 8)
      >> 8

math.min(x, y)
    Retorna o menor número entre x e y.

      > math.min(5, 8)
      >> 5

math.modf(n)
    Retorna o número inteiro e a parte fracionária de n.

      > math.modf(5.7)
      >> 5 0.7

math.pi
    Retorna o valor de pi.

      > math.pi
      >> 3.1415927

math.pow(x, y)
    Retorna x^y

      > math.pow(4, 2)
      >> 16

math.rad(n)
    Retorna o número n em radianos

      > math.rad(90)
      >> 1.5707964

math.random(x, y)
    Retorna um número aleatório entre x e y, na falta de argumentos, retorna num intervalo de 0 a 1

      > math.random(1, 6)
      >> 5

math.randomseed(n)
    Estabelece n como semente para math.random, reproduzindo a mesma sequência do math.random() sempre.

      > math.randomseed(1)
      >>

math.sin(n)
    Retorna o seno do número n. O valor retornado é em radianos.

      > math.sin(1)
      >> 0.84147096

math.sqrt(n)
    Retorna a raíz quadrada de n.

      > math.sqrt(16)
      >> 4

math.tan(n)
    Retorna a tangente de n em radianos.

      > math.tan(4)
      >> 1.1578213


Os

    A biblioteca Os retorna informações sobre o servidor lua.

os.date(pattern)
    Retorna a tabela com as informações de data e hora atuais formatadas pelo pattern.

      > os.date("*t").hour
      >> 5

os.difftime(x, y)
    Retorna a diferença de segundos de x a y.

      > os.difftime(1459961176817, 1459961175817)
      >> 1000

os.time()
    Retorna o tempo atual do servidor em milisegundos.

      > os.time()
      >> 1459961175817


String

    Compreende todas as funções que interagem com sequências de caracteres(strings) disponíveis da api atual do lua.

string.byte(c)
    Retorna o código numérico do caractere dado.

      > string.byte("a")
      >> 97

string.char(n)
    Retorna o caractere correspondente ao código numérico dado.

      > string.byte(97)
      >> a

string.find(s, pattern)
    Retorna a posição do pattern encontrado na string s, caso a função não encontre um valor correspondente, retorna nil.

      > string.find("lua mitos", "lua")
      >> 1

string.format(pattern, ...)
    Retorna uma string formatada com os argumentos, os patterns podem ser encontrados na aba regex.

      > string.format("%d ovelhas", 3)
      >> 3 ovelhas

string.gmatch(s, pattern)
    Retorna uma função interadora com todas as ocorrências do pattern.

      > string.gmatch("3 ovelhas, 2 patos", "%d")
      >> 3
      >> 2

string.gsub(s, pattern, value, n)
    Retorna s com todas as ocorrencias de pattern substituidas por value, você pode definir o numero de vezes que a substituição ocorre utilizando n, se n for nil, todas ocorrem.

      > string.gsub("4 ovelhas", "4", "2")
      >> 2 ovelhas

string.len(s)
    Retorna o tamanho da string s.

      > string.len("Duas ovelhas")
      >> 12

string.lower(s)
    Retorna a string s com todos os seus caracteres em minúsculo.

      > string.lower("UMA OVELHA")
      >> uma ovelha

string.match(s, pattern)
    Retorna o primeiro encontro do pattern na string s.

      > string.match("1 OVELHA, 2 OVELHAS", "%d")
      >> 1

string.rep(s, n)
    Retorna a string s repetida n vezes.

      > string.rep("OVELHAS ", 5)
      >> OVELHAS OVELHAS OVELHAS OVELHAS OVELHAS

string.reverse(s)
    Retorna a string s invertida.

      > string.reverse("OVELHA")
      >> AHLEVO

string.sub(s, x, y)
    Retorna a parte da string s de x a y, se y for nil o resultado será de x até o final da string.

      > string.sub("Duas ovelhas", 5)
      >> ovelhas

string.upper(s)
    Retorna a string s com todos os seus caracteres em maiúsculo.

      > string.upper("uma ovelha")
      >> UMA OVELHA


Table

    Provê funções para manipulação de tabelas.

table.concat(t, separator)
    Retorna uma string com todos os valores de indices númericos de uma tabela separados pelo separator.

      > table.concat({"Porquinhos", "Ovelhinhas"}," e ")
      >> Porquinhos e Ovelhinhas

table.insert(t, [n], v)
    Adiciona o valor v a tabela t na posição n, se n não for identificado, o valor será o ultimo da tabela

      > table.insert({}, "ovelhas")
      >> {[1] = "ovelhas"}

table.remove(t, n)
    Remove um valor da tabela t que esteja no indice n.

      > table.remove({"ovelhas", "galinhas"}, 1)
      >> {[1] = "galinhas"}

table.srt(t, function)
    Ordena uma tabela utilizando a função dada como comparador.


Regex

    Sintaxe que permite a captura de strings, é utilizado em todas as linguagens de programação robustas.

Padrões

  • .(ponto): representa todos os caracteres
  • %a: identifica todas as letras latinas
  • %c: identifica todos os caracteres de controle
  • %d: representa todos os dígitos
  • %l: letras minúsculas
  • %p: caracteres de pontuação
  • %s: caracteres de espaço
  • %u: letras maiúsculas
  • %w: caracteres alfanuméricos
  • %x: digitos hexadecimais
  • [^abc]: caracteres que não sejam abc, os padrões acima podem ser utilizados dentro de [^ ]
  • [abc]: caracteres que sejam abc, os padrões acima podem ser utilizados dentro de [ ]
  • ^: início de uma string
  • $: fim de uma string
  • (): grupo de captura, retornando apenas o valor encontrado dentro dos parênteses.

Exemplos

  • Código de mapa: @(%d{3,16})
  • Separar palavras: [^%s]+


Dernière modification le 1459963380000
Naquelana
« Citoyen »
1403283780000
    • Naquelana#0000
    • Profil
    • Derniers messages
#2
  0
vlw precisava saber oq else fazia
Anndyblack
« Citoyen »
1403284620000
    • Anndyblack#0000
    • Profil
    • Derniers messages
#3
  0
Um Ajudou Muito !
Mumich
« Citoyen »
1403284620000
    • Mumich#6666
    • Profil
    • Derniers messages
    • Tribu
#4
  0
[Eshkation] comentem e ganhem 5000 morangos: http://atelier801.com/topic?f=6&t=772486

operadores estão incompletos

falta

^
%
!
not
and
or

entre outros
Esh
« Censeur »
1403284740000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#5
  0
Tuliomumic a dit :
[Eshkation] comentem e ganhem 5000 morangos: http://atelier801.com/topic?f=6&t=772486

operadores estão incompletos

falta

^
%
!
not
and
or

entre outros

http://img.pokemondb.net/sprites/black-white/anim/normal/charizard.gif

O Charizard queimou partes do meu topico, charizard mau.
Naquelana
« Citoyen »
1403284800000
    • Naquelana#0000
    • Profil
    • Derniers messages
#6
  0
Eshkation a dit :
Tuliomumic a dit :
[Eshkation] comentem e ganhem 5000 morangos: http://atelier801.com/topic?f=6&t=772486

operadores estão incompletos

falta

^
%
!
not
and
or

entre outros

http://img.pokemondb.net/sprites/black-white/anim/normal/charizard.gif

O Charizard queimou partes do meu topico, charizard mau.

ele invadiu seu word?
+Thogabriel
« Citoyen »
1403287380000
    • +Thogabriel#0000
    • Profil
    • Derniers messages
    • Tribu
#7
  0
Legall
Brenower
« Censeur »
1403287560000
    • Brenower#0000
    • Profil
    • Derniers messages
    • Tribu
#8
  0
Que tópico bem explicado
comentei cade meus morangos?
Naquelana
« Citoyen »
1403287620000
    • Naquelana#0000
    • Profil
    • Derniers messages
#9
  0
Brenower a dit :
Que tópico bem explicado
comentei cade meus morangos?

ele disse que tem morrrer 300 vezes no mice
Robonado
« Citoyen »
1403299260000
    • Robonado#0000
    • Profil
    • Derniers messages
    • Tribu
#10
  0
Tem também operação de potência (x^numero.que.eleva) e a de raiz quadrada (math.sqrt(numero)).
Stheblindd
« Citoyen »
1403299620000
    • Stheblindd#0000
    • Profil
    • Derniers messages
    • Tribu
#11
  0
Faltou while! Todo mundo esquece do while! :(
Robonado
« Citoyen »
1403300460000
    • Robonado#0000
    • Profil
    • Derniers messages
    • Tribu
#12
  0
Stheblindd a dit :
Faltou while! Todo mundo esquece do while! :(

altos crash
Cagaonacausa
« Citoyen »
1403308380000
    • Cagaonacausa#0000
    • Profil
    • Derniers messages
#13
  0
Mestre da programação Lua e Python, esse ech.

Stheblindd a dit :
Faltou while! Todo mundo esquece do while! :(

Pois é, ela é super importante :D

Dernière modification le 1403308440000
Esh
« Censeur »
1403308380000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#14
  0
Topico atualizado, table,string,math,os adicionados! :P
Tickal
« Censeur »
1403360880000
    • Tickal#0000
    • Profil
    • Derniers messages
    • Tribu
#15
  0
Achei bem útil Esh ^^
Esh
« Censeur »
1403371860000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#16
  0
Padrões adicionados! ^-^
Niunzin
« Citoyen »
1403371980000
    • Niunzin#0000
    • Profil
    • Derniers messages
    • Tribu
#17
  0
Bem legal o tópico, organizado e talz, vai ajudar bastante a galera \o/
Esh
« Censeur »
1403379120000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#18
  0
Niunzin a dit :
Bem legal o tópico, organizado e talz, vai ajudar bastante a galera \o/

obrigado, q-q
Mumich
« Citoyen »
1403459160000
    • Mumich#6666
    • Profil
    • Derniers messages
    • Tribu
#19
  0
alerta de padrões incompletos pipipi!!!!!

Então, se você colocar a letra maiúscula, ele vai pesquisar tudo que não é ele, ou seja %A vai procurar tudo não-letra, etc. Tem também a falta do modificador "^" (sei la o que ele faz) e você pode também criar seus próprios padrões, colocando "[o que vc quer]"

also

bom trabalho nesse tópico, vai ajudar 1 povão

Dernière modification le 1403459220000
Esh
« Censeur »
1403470860000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#20
  0
Tuliomumic a dit :
alerta de padrões incompletos pipipi!!!!!

Então, se você colocar a letra maiúscula, ele vai pesquisar tudo que não é ele, ou seja %A vai procurar tudo não-letra, etc. Tem também a falta do modificador "^" (sei la o que ele faz) e você pode também criar seus próprios padrões, colocando "[o que vc quer]"

also

bom trabalho nesse tópico, vai ajudar 1 povão

Eu tbm n sei pra que serve o ^, mais tarde dou uma olhada no manual lua.
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Tutorial] Funções Lua
1 / 5 › »
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27