[Tutorial] Padrões |
Hydroper « Citoyen » 1487507940000
| 0 | ||
Padrões Lua oferece padrões que podem ser aplicados em strings, geralmente úteis para fazer pequenas manipulações em strings. Esses padrões podem ser aplicados de 4 maneiras diferentes, utilizando as funções string.find(), string.gmatch(), string.gsub() e string.match(). Padrões são strings interpretadas por cada uma dessas funções. Em cada operação, essas funções assumem cada byte sendo o código de cada caractere da string, incluindo o próprio padrão, e por isso podem não funcionar corretamente caso a string usa uma codificação de caracteres na qual códigos de caracteres são determinados de maneira diferente. Codificação de caracteres é apenas uma maneira de representar códigos de caracteres que depende dos bytes e do tamanho de bytes da string (embora algumas codificações tentam tratar cada código como diferente caractere, mas no Unicode cada caractere é definido por apenas um número e universalmente. Qualquer codificação pode representar caracteres do Unicode, etc...). Um padrão tipicamente estrutura um formato, que pode estar presente numa string (por exemplo: (padrão) "%z" = (string) "Blah0"), isso é ocorrência. Cada função permite fazer diferentes ações com cada ocorrência. No exemplo abaixo é utilizado um padrão para encontrar a índice da primeira vogal A numa string. Isso é só para mostrar que um padrão pode representar conteúdo ocasionalmente. Code Lua 1 print( ('AA') :find'A' ); -- Retornos: 1 (começo) e 1 (fim) Padrões são também úteis para criar mensagens de erros mais interativas, sem precisar fazer um substituidor manualmente: Code Lua 1 2 3 4 5 6 7 8 9 local mensagens = { Nesse exemplo o padrão caça as combinações do caractere % + um digito decimal dentro de uma captura. Links relacionados do manual do Lua 5.1: |
Brenower « Censeur » 1487512500000
| 0 | ||
bem incompleto o tutorial né |
Hydroper « Citoyen » 1487513760000
| 0 | ||
Brenower a dit : Resolvi não continuar por causa do meu irmão |
Kiwrimai « Consul » 1487539740000
| 0 | ||
Tópico trancado a pedido do autor. |