Ir para conteúdo
Entre para seguir isso  
Jovial

[N:Médio] String Tutorial

Recommended Posts

Jovial    2
Jovial

..:: String Tutorial ::..

 

O que são strings?

São seqüências ordenadas de caracteres, símbolos, escolhidos a partir de um conjunto pré-determinado.

 

Manipulando Strings

A biblioteca string provê funções com diversas utilidades, para manipulação de strings (cadeias de caracteres, como explicado acima). Como exemplos, podemos citar a localização e extração de subcadeias, além de casamento de padrões. Em lua, o primeiro caractere da indexação vai estar na posição 1, e não na 0 (como em C). Os índices podem ter valores negativos, e nesse caso serão interpretados como uma indexação de trás pra frente, começando do final da cadeira. Logo, o ultimo caractere está na posição -1, e assim por diante.

 

OBS: Na sintaxe das funções citadas abaixo, os parâmetros entre colchetes são facultativos.

 

Byte

Descrição: Retorna o código numérico interno dos caracteres, cada caractere possui um numero, vide tabela Ascii.

Sintaxe: string.byte(string [, n]), aonde string é a Cadeia de caracteres, e n a posição do caractere que você deseja pegar o número interno onde o valor padrão é 1.

Exemplo:

>> string.byte("Eu sou uma string.") = 69 -- 69 é o numero interno do caractere "E"
>> string.byte("Eu sou uma string.", 1) = 69
>> string.byte("Eu sou uma string.", 2) = 117 -- 117 é o numero interno do caractere "u"
>> string.byte("Eu sou uma string.", -1) = 46 -- 46 é o numero interno do caractere "."
>> string.byte("Eu sou uma string.", -2) = 103 -- 103 é o numero interno do caractere "g"

 

Char

Descrição: Faz o inverso o string.byte citado acima, ele transforma o código numérico interno dos caracteres no caractere em si.

Sintaxe: string.char(numero1 [, numero2, ...]) aonde cada parâmetro conterá o numero interno do caractere desejado, podendo ter infinitos parâmetros.

Exemplo:

>> string.char(69) = "E"
>> string.char(117) = "u"
>> string.char(69, 117) = "Eu"

 

Len

Descrição: Retorna o numero de caracteres da cadeia.

Sintaxe: string.len(string), onde string é a Cadeia de caracteres.

Exemplo:

>> string.len("Eu sou uma string.") = 18 -- numero de caracteres desta cadeia
>> string.len("Eu sou uma outra string.") = 24 -- numero de caracteres desta cadeia

 

Lower

Descrição: Converte todos os caracteres maiúsculos, de uma cadeia, para minúsculos e apenas copia os outros.

Sintaxe: string.lower(string), aonde string é a cadeia de caracteres.

Exemplo:

>> string.lower("Eu Sou Uma String.") = "eu sou uma string" -- cadeia convertida para minúscula
>> string.lower("eU sOu OuTrA StRiNg.") = "eu sou outra string" -- cadeia convertida para minúscula

 

Upper

Descrição: Converte todos os caracteres minúsculos, de uma cadeia, para maiúsculos e apenas copia os outros.

Sintaxe: string.upper(string), aonde string é a cadeia de caracteres.

Exemplo:

>> string.upper("Eu Sou Uma String.") = "EU SOU UMA STRING" -- cadeia convertida para maiúscula
>> string.upper("eU sOu OuTrA StRiNg.") = "EU SOU OUTRA STRING" -- cadeia convertida para maiúscula

 

Rep

Descrição: Retorna uma cadeia que é a conexão de cópias da string.

Sintaxe: string.rep(string, n), onde string é a cadeia de caracteres e n é o número de cópias de string a serem ligadas.

Exemplo:

>> string.rep("Eu Sou Uma String.",2) = "Eu Sou Uma String.Eu Sou Uma String." -- conexão das cadeias.
>> string.rep("Eu Sou Uma String.",3) = "Eu Sou Uma String.Eu Sou Uma String.Eu Sou Uma String." -- conexão das cadeias.

 

Reverse

Descrição: Retorna a cadeia de caracteres ao contrário, do fim para inicio.

Sintaxe: string.reverse(string), aonde string é a cadeia de caracteres.

Exemplo:

>> string.reverse("Eu Sou Uma String.") = ".gnirtS amU uoS uE" -- cadeia invertida.
>> string.reverse("Eu Sou Outra String.") = ".gnirtS artuO uoS uE" -- cadeia invertida.

 

Sub

Descrição: Retorna uma subcadeia da cadeia de caracteres.

Sintaxe: string.sub(string, n [, z]), onde string é a cadeia de caracteres, n é onde a subcadeia começa e z é onde a subcadeia termina. Se z for ausente, a função assume ele como igual a -1, que será o final da cadeia.

Exemplo:

>> string.sub("Eu Sou Uma String.",1,9) = "Eu Sou Um" -- Subcadeia, de 1 ("E" de "Eu") à 9 ("m" de "Uma")
>> string.sub("Eu Sou Outra String.") = "Sou Uma Outra String." -- Subcadeia, de 4 ("S" de "Sou") à -1 (".", que é o fim da cadeia)

 

Match

Descrição: Procura o primeiro casamento de pattern na cadeia de caracteres1. Se encontrar um, o match retornará as capturas do padrão, caso contrário retorna nil.

Sintaxe: string.match(string, pattern [, init]) onde string é a cadeia de caracteres, pattern é o 'pedaço' que se que localizar e init é a posição que você deseja iniciar a verificação.

Exemplo:

>> string.match("Eu sou uma string.", "s.") = so -- O símbolo '.', no [i]pattern[/i], representa qualquer outro caractere
>> string.match("Eu sou uma string.", "s.", 7) = st -- Como aqui a verificação é depois do 7° caractere a primeira parte que se encaixou com o [i]pattern[/i] foi o 'st'
>> string.match("Eu sou uma string.", "s.", 8) = nil -- Depois da posição 8, não foi encontrado subcadeias que se encaixem com o pattern
--Logo colocarei um tutorial de [i]pattern[/i]

 

Find

Descrição: Procura a posição, começo e fim, de uma subcadeia de caracteres, caso não encontrar retorna nil. Ela é semelhante a Match, só que esta retorna somente a posição.

Sintaxe: string.find(string, pattern [, init]) onde string é a cadeia de caracteres, pattern é o 'pedaço' que se que localizar e init é a posição que você deseja iniciar a verificação.

Exemplo:

>> string.find("Eu sou uma string.", "Eu") = 1, 2
>> string.find("Eu sou uma string.", "eu") = nil -- Pois "Eu" é diferente de "eu"
>> string.find("Eu sou uma string.", "sou uma") = 4, 10

 

TODO

Adicionar Gmatch, Gsub, Format, Dump e tutorial de Pattern

 

Créditos

Tutorial feito por Jovial e Fadi a pedido de [ B a l i l l o ].

 

Espero que todos entendam o tutorial, se surgir dúvidas favor perguntar, postando a neste tópico.

 

cya;

Jovial

Compartilhar este post


Link para o post
Marcin    1
Marcin

Aprovado com méritos :)

 

-> Movido <-

 

Até.

Compartilhar este post


Link para o post
Fadi    0
Fadi

Finalmente movido oO'

Menos de 1 hora pra fzr o tuto, e qse 10 hrs pra ser aceito =.=

Bom, não tinha ngm pra aceitar on na hora mesmo... tá bom assim /o/

Espero que o povo goste (y)

~no more =]

Compartilhar este post


Link para o post
niKer    0
niKer

bem legal gostei belo tuto!!

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Vlw Jovial por ter feito o belo tutorial :)

 

Bom, se puder, coloque uns exemplos em scripts pra galera ver tbm :)

 

:*

Compartilhar este post


Link para o post
Browx    0
Browx

bom tuto

me ajudo e com ctz vai ajuda bastante gente =]

abraço

Compartilhar este post


Link para o post
alisonjf    2
alisonjf

Não é muito util pra mim mas ficou legal.

 

 

Aprovado.

Compartilhar este post


Link para o post
otserv1992    0
otserv1992

pra que serve elas?

Compartilhar este post


Link para o post
Reibnitz    0
Reibnitz
Vlw Jovial por ter feito o belo tutorial :)

 

Bom, se puder, coloque uns exemplos em scripts pra galera ver tbm :)

 

:*

 

Concordo, eu entendi tudo direitinho, só não entendi aonde isso será aplicável em OTServers (desculpa minha ignorância)

Compartilhar este post


Link para o post
Norton Ví    0
Norton Ví

É... para que server? Isso tem utilidade em Open Tibia Server's?

Compartilhar este post


Link para o post
Dark    3
Dark

@ Norton Ví

 

Claro que tem aplicação em OTServ, principalmente em talkactions, são muito uteis :)

Compartilhar este post


Link para o post
Norton Ví    0
Norton Ví

@Dark

 

Muito obrigado x)

 

Interessante =P

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Vlws kara vo da uma comparada e uma apofundada nisso. Sempre quiz saber como funciona essa eskema de string

 

E ela eh muito util na ultilizaçao de arrays tb

 

Flws

Compartilhar este post


Link para o post
ughinii    0
ughinii

muito bom mesmo

parabens!

Compartilhar este post


Link para o post
Jheiny Winkz    0
Jheiny Winkz

mt bom , ate que foi utiul (y)

Compartilhar este post


Link para o post
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.

×