Parabéns @20cm
Reputado.
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

Parabéns @20cm
Reputado.
info
Grupo: Campones
Registrado: 06/11/12
Posts: 46
Reputação: +11

gostei bastante da função cara
parabéns!
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

E bem raro ver string.explode fora do evento dos talkactions ainda mais para espaço.
Muito bom cara.
Um string.gmatch.
function fixStr(str)
local ret = ""
for n in string.gmatch(str, "%w+") do
ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) .." "
end
return ret
end
Um string.gmatch.
function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) .." " end return ret end
Na verdade essa função deixa um espaço depois da última palavra (fixString("camelo") > "camelo_")
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Porque ele deixou um espaço na ret
ret = ret ..string.sub(n,0,1):upper()..string.sub(n,2).."AQUI"
é só deixar assim
ret = ret ..string.sub(n,0,1):upper()..string.sub(n,2)..""
Editado Dezembro 17 por Skymagnum
Eee que legal...
function fixStr(str)
local ret = ""
for n in string.gmatch(str, "%w+") do
ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2)
end
return ret
end
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

achu q assim fica melhor '--'
function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. (ret == "" and "" or " ") .. string.sub(n, 0, 1):upper() .. string.sub(n, 2):lower() end return ret end
n pode esquecer do lower() no final.. ja q o usuario pode escrever tpw..
SLiCer, SLICER, sLIcER... kk
Editado Dezembro 18 por Slicer
Skymagnum, esse não é o ponto, eu sei que isso põe espaço -.- o que a função faz é dividir palavras por espaço (%w+) , deixar a primeira letra em caixa alta, depois por o resto, e por um espaço
O que eu to querendo dizer é que, se eu "fixo" a string "mamãe quer sexo" ela sai como "Mamãe Quer Sexo" (note o espaço no final) - e nenhum de vocês conseguiram fazer com que resultasse em "Mamãe Quer Sexo" (não que eu ache que vocês não consigam) acho que vocês [mais o oneshot] deviam prestar mais atenção antes de postar)
enfim , obrigado bjos
Ué, meu velho, vem falar para eu prestar atenção, mas não vi você consertar esse tal bug de deixar espaços. Você tem que entender que eu encurto funções dos outros jogadores, para que eles notem e aprendam as funções nativas do Lua que são muito úteis. Não tem razão nenhuma para você ficar irritadinho. Se viu que eu errei, corrija e ganhe a fama de "corrigi o erro do Um Tiro".
Enfim, tá aí.
function fixStr(str)
local ret = ""
for n in string.gmatch(str, "%w+%s*") do
ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2)
end
return ret
end
Ah, também desenvolvi seu rank por storage que você queria lá na seção de websites. Viu como eu sou um cara legal?
Ué, meu velho, vem falar para eu prestar atenção, mas não vi você consertar esse tal bug de deixar espaços. Você tem que entender que eu encurto funções dos outros jogadores, para que eles notem e aprendam as funções nativas do Lua que são muito úteis. Não tem razão nenhuma para você ficar irritadinho. Se viu que eu errei, corrija e ganhe a fama de "corrigi o erro do Um Tiro".
Enfim, tá aí.
function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+%s*") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) end return ret end
Ah, também desenvolvi seu rank por storage que você queria lá na seção de websites. Viu como eu sou um cara legal?
minha função era aquela quem tinha que consertar a função era tu, não eu lol
mas vlw pelo rank s2
Eu fiz uma função assim semana passada:
function string:fix()
return string.upper(self:sub(1,1)) .. self:sub(2):lower()
end
function string:fixall()
local R = {}
local t = string.explode(self, ' ')
for i,v in pairs (t) do
table.insert(R,v:fix())
end
return table.concat(R,' ')
end
A de cima pega só a 1º palavra e a outra pega todas.
Editado Dezembro 30 por iuniX
info
Grupo: Barão
Registrado: 19/11/11
Posts: 221
Reputação: +70
O que ela faz?
Ela transforma uma string, por exemplo, de "eitor laba v1d4 l0k4" para "Eitor Laba V1d4 L0k4"
Pode-se dizer que ela deixa em caixa alta a primeira letra de cada palavra de uma string, e, se forem números, não faz nada.
Aqui vai ela:
Flw!
Editado Novembro 10 por 20cm