×

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
« ‹ 3 / 5 › »
[Tutorial] Funções Lua
Hydroper
« Citoyen »
1415145480000
    • Hydroper#0000
    • Profil
    • Derniers messages
    • Tribu
#41
  0
Bom trabalho, Ash. =]] Bem explicado...
Squalleze
« Citoyen »
1415445000000
    • Squalleze#0000
    • Profil
    • Derniers messages
    • Tribu
#42
  0
porque você não usou table.concat na função table.print, fica beim menor e melhor '~'
Draculim
« Citoyen »
1418083620000
    • Draculim#0000
    • Profil
    • Derniers messages
    • Tribu
#43
  0
o meu nao mostra
Operop
« Citoyen »
1418321160000
    • Operop#0000
    • Profil
    • Derniers messages
#44
  0
squalleze a dit :
% (módulo) funciona mais ou menos como um comparador:
Exemplo:
a % b : se 'a' for múltiplo inteiro de 'b' ele sempre retorna 0, se 'a' for maior que 'b' ele retorna a diferença entre 'a' e 'b' (no caso a diferença seria a quantia que você tem que tirar de 'a' para ser múltiplo de 'b') e se 'b' for maior que 'a' ele retorna o 'a' (que no caso seria o valor em forma positiva que falta para 'a' ser 0), se 'a' for negativo ele retorna o valor em forma positiva que faltaria para 'a' ser múltiplo de 'b', e se 'b' for negativo ele retorna o valor em forma negativa que 'a' precisa para ser múltiplo de 'b', se 'a' for 0 o retorno sempre será 0 e se 'b' for igual a 0 o retorno será 'nan'.

Se tiver faltando algo sobre o % me falem :/

print(a%b == math.fmod(a, b)) --> true
Squalleze
« Citoyen »
1418341680000
    • Squalleze#0000
    • Profil
    • Derniers messages
    • Tribu
#45
  0
operop a dit :
squalleze a dit :
% (módulo) funciona mais ou menos como um comparador:
Exemplo:
a % b : se 'a' for múltiplo inteiro de 'b' ele sempre retorna 0, se 'a' for maior que 'b' ele retorna a diferença entre 'a' e 'b' (no caso a diferença seria a quantia que você tem que tirar de 'a' para ser múltiplo de 'b') e se 'b' for maior que 'a' ele retorna o 'a' (que no caso seria o valor em forma positiva que falta para 'a' ser 0), se 'a' for negativo ele retorna o valor em forma positiva que faltaria para 'a' ser múltiplo de 'b', e se 'b' for negativo ele retorna o valor em forma negativa que 'a' precisa para ser múltiplo de 'b', se 'a' for 0 o retorno sempre será 0 e se 'b' for igual a 0 o retorno será 'nan'.

Se tiver faltando algo sobre o % me falem :/

print(a%b == math.fmod(a, b)) --> true

Ou seja % = math.fmod :)
Kwahlim
« Citoyen »
1421687160000
    • Kwahlim#0000
    • Profil
    • Derniers messages
#46
  0
Gosto muito de LUA por ser parecida com python e isso facilita muito para quem sabe python como eu.
um ex:
a = [9, 3, 8, 2, 5, 1]
a.sort()
print ", ".join(a)
Kwahlim
« Citoyen »
1421717700000
    • Kwahlim#0000
    • Profil
    • Derniers messages
#47
  0
Desculpe o double coment (porque não da para editar :c )
Mas 1 dia nem 1 dia na verdade devo ter passado uns 30 minuto estudando LUA e olha o cod
function split(strings, exps)
local splits = {}
local splitad = ""
local no_add = 0
for x=0, string.len(strings), 1 do
local stringt = string.sub(strings, x, x)
no_add = 0
if exps == stringt then
splits[table.getn(splits)+1] = splitad
splitad = ""
no_add = 1
end
if no_add == 0 then
splitad = splitad..stringt
end
end
local last_arg = string.reverse(strings)
local lastlast = ""
local last_arglist = {}
for x=0, string.len(last_arg), 1 do
local last = string.sub(last_arg, x, x)
if exps == last then
last_arglist[1] = lastlast
break
end
lastlast = lastlast..last
end
splits[table.getn(splits)+1] = last_arglist[1]
return splits
end
a = split("Eu sou um bolinho de arroz", " ")
for x=0, table.getn(a), 1 do
print(a[x])
end

ele faz 1 split na string ex dividindo uma string a cada espaço "Eu sou um bolinho de arroz" ele retorna uma lista assim "{"Eu", "sou", "um", "bolinho", "de" ,"arroz"}
uma função dessa deveria vir embutida já no Lua :D
Litlearenan
« Citoyen »
1421719860000
    • Litlearenan#0000
    • Profil
    • Derniers messages
    • Tribu
#48
  0
Squalleze a dit :
porque você não usou table.concat na função table.print, fica beim menor e melhor '~'

melhor usar table.foreach

Code 1 a dit :
table.foreach({'teste 1', 'teste 2'}, print)

Code 2 a dit :
table.foreach({'teste 1', 'teste 2'}, function(index,vallue) print(vallue) end)

Já que table.concat só pega valores com index int...

Dernière modification le 1421719980000
Kwahlim
« Citoyen »
1421847000000
    • Kwahlim#0000
    • Profil
    • Derniers messages
#49
  0
Porque não ?
function join(lista, arg)
local str = ""
for x=1, table.getn(lista), 1 do
if lista[table.getn(lista)] == lista[x] then
str = str..tostring(lista[x])
else
str = str..tostring(lista[x])..tostring(arg)
end
end
return str
end
a = {1, 2, 3, 4, 5, 6, "mds vey"}
print(join(a, " > "))
Litlearenan
« Citoyen »
1421848500000
    • Litlearenan#0000
    • Profil
    • Derniers messages
    • Tribu
#50
  0
a = {1, 2, 3, 4, 5, 6, "mds vey"} é a mesma coisa que a = {[1]=1, [2]=2, [3]=3, [4]=4, [5]=5, [6]=6, [7]="mds vey"}
diferente de a = {['mds vey']='testando'}

estou falando de index não de valor

table.getn(tfm.get.room.playerList} --> 0
#tfm.get.room.playerList --> 0
print(table.concat(tfm.get.room.playerList, ", ") --> ' '
Já que os index da table tfm.get.room.playerList são nomes dos jogadores na sala (string).

Dernière modification le 1421848680000
Esh
« Censeur »
1421848500000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#51
  0
kwahlim a dit :
Porque não ?
function join(lista, arg)
local str = ""
for x=1, table.getn(lista), 1 do
if lista[table.getn(lista)] == lista[x] then
str = str..tostring(lista[x])
else
str = str..tostring(lista[x])..tostring(arg)
end
end
return str
end
a = {1, 2, 3, 4, 5, 6, "mds vey"}
print(join(a, " > "))

Em lua você pode utilizar #tabela para conseguir o len de uma tabela, e você não precisa utilizar tostring para conectar str e int em lua.
Mumich
« Citoyen »
1421848680000
    • Mumich#6666
    • Profil
    • Derniers messages
    • Tribu
#52
  0
function join(lista, arg)
local str = ""
for i,v in pairs(lista) do
if i == #lista then
str = str..v
else
str = str..v..arg
end
end
return str
end
a = {1, 2, 3, 4, 5, 6, "mds vey"}
print(join(a, ">"))

da pra fazer assim, é mais facil
Litlearenan
« Citoyen »
1421849940000
    • Litlearenan#0000
    • Profil
    • Derniers messages
    • Tribu
#53
  0
a = {1, 2, 3, 4, 5, 6, "mds vey"}

function join(lista, arg)
table.foreach(lista, function(i,v) str= not str and "" or i < #lista and str..v..arg or str..v; end)
return str;
end

print(join(a, " > "))

Eshkation a dit :
Em lua você pode utilizar #tabela para conseguir o len de uma tabela, e você não precisa utilizar tostring para conectar str e int em lua.

Só conta certo se todos os index forem int...

Dernière modification le 1421851620000
Esh
« Censeur »
1421860260000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#54
  0
litlearenan a dit :
a = {1, 2, 3, 4, 5, 6, "mds vey"}

function join(lista, arg)
table.foreach(lista, function(i,v) str= not str and "" or i &lt; #lista and str..v..arg or str..v; end)
return str;
end

print(join(a, " &gt; "))

Eshkation a dit :
Em lua você pode utilizar #tabela para conseguir o len de uma tabela, e você não precisa utilizar tostring para conectar str e int em lua.

Só conta certo se todos os index forem int...

Pq já deixou de ser tabela e virou dict
Kwahlim
« Citoyen »
1422057180000
    • Kwahlim#0000
    • Profil
    • Derniers messages
#55
  0
Relaxa eu gosto mais da programação "no braço"
Droppufflecp
« Citoyen »
1423603020000
    • Droppufflecp#0000
    • Profil
    • Derniers messages
#56
  0
nossa que legau!
Droppufflecp
« Citoyen »
1438178160000
    • Droppufflecp#0000
    • Profil
    • Derniers messages
#57
  0
Uso sempre.

Que boa ideia! :D
Esh
« Censeur »
1444332360000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#58
  0
Dei uma atualizada no tópico, deve ficar melhor de entender agora
Hugotitas
« Citoyen »
1444356000000
    • Hugotitas#0000
    • Profil
    • Derniers messages
    • Tribu
#59
  0
Eshkation oque significa esse bool é a mesma função do que o print ?
Ajuda eu ;-;
Esh
« Censeur »
1444428060000
    • Esh#0095
    • Profil
    • Derniers messages
    • Tribu
#60
  0
Hugotitas a dit :
Eshkation oque significa esse bool é a mesma função do que o print ?
Ajuda eu ;-;

não, bool significa Boolean,ou seja, uma variavel que seja true ou false:
kikoo = true
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Tutorial] Funções Lua
« ‹ 3 / 5 › »
© Atelier801 2018

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

Version 1.27