Ir para conteúdo
Entre para seguir isso  
Mock

Jogo dos muitos erros!

Recommended Posts

Mock    32
Mock

Aqui tem um script, veja quantos erros você encontra!

mock = function(str)
       debug.setmetatable('',{__add=function(a, return a..b end,__sub=function(a, return string.len(a)-string.len( end})
print('Esse string '+'Outra string '+'legal?')
print('Essas strings menos elas dao: '+('Esse aki é maior do que'-'esse'))
print('Nossa: '+tostring(print))
       if 1 =< 1 then
	print('Oie ;D')
end
elseif true then
	str:gsub(str,1,'')
end
       table = table or {}
for i=1,math.huge do
	table.insert(table,i,i)
end
return = 1,
end

mock([=[Em meu guarda-roupas tinha um livro1
Eu nem li por que é xato1
Mais ler é bom kra1
Dizem que mata1
Mais nem mata ._.'1
ou será que nao?1
legalzudo :D1]=])

 

Seja honesto! nao use interpretadores lua!

 

Resposta de quantos erros existem no script:

[spoiler=Nao abra][spoiler=Tente resolver][spoiler=kra!][spoiler=affff][spoiler=NAO OLHA!][spoiler=Resposta no proximo]O script tem: 4 erros

mock = function(str)
       debug.setmetatable('',{__add=function(a, return a..b end,__sub=function(a, return string.len(a)-string.len( end})
print('Esse string '+'Outra string '+'legal?')
print('Essas strings menos elas dao: '+('Esse aki é maior do que'-'esse'))
print('Nossa: '+tostring(print))
   if 1 >= 1 then
	print('Oie ;D')
elseif true then
	string.gsub(str,1,'')
end
       table = table or {}
for i=1,math.huge do
	table.insert(table,i,i)
end
return = 1
end

mock([=[Em meu guarda-roupas tinha um livro1
Eu nem li por que é xato1
Mais ler é bom kra1
Dizem que mata1
Mais nem mata ._.'1
ou será que nao?1
legalzudo :D1]=])

Pode testar!

:D

só tire o for i=1,math.huge pq é um loop infinito e você vera a magia da funçao debug.setmetatable

 

 

 

 

 

 

 

Editado por Mickfern

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz
mock = function(str)

debug.setmetatable('',{__add=function(a,B) return a..b end,__sub=function(a,B) return string.len(a)-string.len(B) end})

print('Esse string '+'Outra string '+'legal?')

print('Essas strings menos elas dao: '+('Esse aki é maior do que'-'esse'))

print('Nossa: '+tostring(print))

if 1 =< 1 then

print('Oie ;D')

end

elseif true then

str:gsub(str,1,'')

end

table = table or {}

for i=1,math.huge do

table.insert(table,i,i)

end

return = 1,

end

 

mock([=[Em meu guarda-roupas tinha um livro1

Eu nem li por que é xato1

Mais ler é bom kra1

Dizem que mata1

Mais nem mata ._.'1

ou será que nao?1

legalzudo "images/smilies/grin.gif" border="0" alt="" title="Feliz" class="inlineimg" />1]=])

 

 

1 - Não se deve fazer contas com strings usando + ou - ou * e assim vai...

 

2 - Acho que no lugar do 1 no finalzinho é uma vírgula, exceto na última linha...

 

mock([=[Em meu guarda-roupas tinha um livro1

Eu nem li por que é xato1

Mais ler é bom kra1

Dizem que mata1

Mais nem mata ._.'1

ou será que nao?1

legalzudo :D1]=])

 

3 - Tem que tirar esta parte para não dar loop infinito:

 

for i=1,math.huge do

table.insert(table,i,i)

end

 

4 - Como diz no manual de referêcia de Lua 5.1:

 

Quando string.gsub é chamada com uma função como seu terceiro argumento, sempre que esta função retorna nil ou false a cadeia de substituição é o casamento inteiro, ao invés da cadeia vazia.

 

E vejo que str:gsub(str.1.'') não tem uma função no seu terceiro argumento....

 

5 - Não era para por a vírgula depois do 1

 

return = 1,

 

6 - Porque colocar elseif se você fechou o 1º if?

 

if 1 =< 1 then

print('Oie ;D')

end

elseif true then

str:gsub(str,1,'')

end

 

7 - Como se trata de strings, devem estar entre aspas ou aspas duplas:

 

mock([=[Em meu guarda-roupas tinha um livro1

Eu nem li por que é xato1

Mais ler é bom kra1

Dizem que mata1

Mais nem mata ._.'1

ou será que nao?1

legalzudo :D1]=])

 

 

 

 

Se eu achar mais erro edito o tópico....

Editado por Antharaz

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

@anthaz

executa e ve se vc fez certo :D

tira SÓ os sintax erros e o loop

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz

Code Quase correto:

 

mock = function(str)

debug.setmetatable('',{__add=function(a,B) return a..b end,__sub=function(a,B) return string.len(a)-string.len(B) end})

print('Esse string '..'Outra string '..'legal?')

print('Essas strings menos elas dao: '..('Esse aki é maior do que'..'esse'))

print('Nossa: '..tostring(print))

if 1 <= 1 then

print('Oie ;D')

elseif true then

 

 

Achei estranho vc colocar o tostring(print) retornando function: 0x62a9e0

 

"/

 

 

Erros:

 

O = depois do return e a vírgula(,) depois do return = 1

 

O uso de + e - no lugar de ..

 

O for usado para loop infinito neste caso

 

O erro de sintaxe do if com elseif.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

@Antharaz

executa isso cara:

debug.setmetatable('',{__add=function(a,B) return a..b end,__sub=function(a,B) return string.len(a)-string.len(B) end})

print('Esse string '+'Outra string '+'legal?')

print('Essas strings menos elas dao: '+('Esse aki é maior do que'-'esse'))

print('Nossa: '+tostring(print))

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz

@mock

 

lol

 

tenho tanta coisa pra aprender ainda sahuashu

 

.-.

 

mas ainda n tentendi o trrem da tostring(print)

 

que agora retornou function: 0x62a9e0

Editado por Antharaz

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

@Antharaz

;D

raposa q me mostrou essa propriedade de usar + em string usando debug.

essa do tostring ele transforma QUALQUER coisa em string exemplo, uma tabela ele retorna:

table 29347

:P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz

a do tostring entendi, só n entendi como funciona em funções como o print no caso...

 

o trem de usar + para juntar usando debug é realmente novo pra mim xD

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaotar    5
Kaotar

1: Erro na sintese do IF

2: Erro do loop for( Stack over flow)

3: Erro no return

4: Erro na linha da função debug.setmetatable onde tem que ser "" ao inves "

5: Mesmo erro na função string.gsub

 

Agora eu testo o script e vejo se tenho mais

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

@Kaotar

a 4 e a 5 tao erradas.

pode ser '' sim (eu puis ' e nao ". '~=")

e com debug nao pode suar syntax sugar em string

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaotar    5
Kaotar

A mock, é por causa da fonte do forum então quando eu copiei pro post fikou '' e eu achei que fosse uma aspa unica =~~~. Desculpas.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz

1: Erro na sintese do IF

2: Erro do loop for( Stack over flow)

3: Erro no = do return

4: Erro na vírgula depois do return

 

 

Acertei?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

@Antharaz

o loop foi de proposito :P

acerto por 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Nenzzy    0
Nenzzy

4 erros,

 

acertei!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mickfern    32
Mickfern

Como sou novo em scripting, consegui acha só 3 erros =/

Achei que o que voce fechou o IF e pois o Else ou elseif depois.

Esqueceu dum ponto e virgula

e colocou uma virgula a mais ali embaixo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×