Hm, interessante, oque realmente faz esta função? Faz algo explodir? Dê uma breve explicação...
Abç!
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Hm, interessante, oque realmente faz esta função? Faz algo explodir? Dê uma breve explicação...
Abç!
info
Grupo: Conde
Registrado: 07/05/08
Posts: 612
Reputação: +12
Char no Tibia: leviana luciferiana

só dando umas sugestões na questão de que ele não reconhece patterns maiores que 1 caractere utiliza a função "string.len(string)" que retorna o tamanho da cadeia de caracteres, assim você pode usar a pattern do tamanho que quizer.
utilize o loop "repeat" ao invés do "for" assim economiza loop.
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Fiz algumas modificaçoes, agora da pra usar com mais de uma letra mais ainda deve ter alguns bugs.
info
Grupo: Conde
Registrado: 07/05/08
Posts: 612
Reputação: +12
Char no Tibia: leviana luciferiana

Não entendi que você colocou no tópico que a função não funciona com patterns então funciona com o que?
Existe algums incovenientes tais como, com o uso de uma pattern maior que 1 caractere a primeira string retorna com o caractere digitado e não após o caractere como era pra ser.
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo
function string.explode(str, sep) -- function by MatheusMkalo local dat = {} local lastsep = 0 for i = 1, #str do if str: sub(i, i+#sep-1) == sep then local addt = lastsep == 0 and str: sub(1, i-1) or str: sub(lastsep+#sep, i-1) if addt ~= "" then table.insert(dat, addt) end str = str:sub(1, i-1) .. str:sub(i+#sep-1) lastsep = i-#sep+1 end if #dat == 0 and i == #str then table.insert(dat, str) break end if i == #str then table.insert(dat, str: sub(lastsep+#sep, #str)) end end return dat endFunçao string.explode dos ots em lua...
N funfa com pattern
Editado Março 29 por MatheusMkalo