Palavras e caracteres reservados
Essa é a primeira aula do modulo palavras e caracteres reservados.
Link da aula anterior, caso tu não tenha lido.
Para que todo programa funcione, ele tem que ter algumas palavras e caracteres reservados para saber o que o código quer que faça.
Eu vou me ater na linguagem de programação lua que é a mais usada em otserver e é o proposito de nosso estudo.
Vou deixar escrito aqui algumas palavras e caracteres, e darei uma breve explicação sobre cada uma:
< <= > >= == ~= true false nil ‘’ “” [[ ]]
nil não tem valor algum, ele simplesmente é declarado como nulo, ou seja, algo que não existe.
true é um boolean para a condição verdadeira. Se algo é verdade, ele é representado por “true”.
false é um boolean para a condição falsa. Se algo é falso, ele é representado por “false”.
Como se cria uma condição?
De diversos modos. Um deles é comparando algo com outro algo.
Alguns exemplos de operadores lógicos que podem ser usados.
Caracteres lógicos
< menor que: 10 < 100 | 10 é menor que 100, logo é uma condição true.
<= menor ou igual: 10 <= 10 | 10 é igual a 10, logo é uma condição true.
> maior que: 10 > 100 | 10 não é maior que 100, logo é uma condição false.
>= maior ou igual: 10 >= 100 | 10 não é maior e nem igual a 100, logo é uma condição false.
~= diferente: 10 ~= 100 | 10 é diferente de 100, logo é uma condição true.
== igualdade: 10 == 100 | 10 não é igual a 100, logo é uma condição false.
Caracteres matemáticos
+ sinal de adição 1+1 = 2
- sinal de subtração 1-1 = 0
* sinal de multiplicação 2*2 = 4
/ sinal de divisão 2/2 = 1
^ sinal de potenciação 2^3 = 8
% isso não é sinal de porcentagem e sim um modulo. A função de tal módulo é tentar chegar ao valor 0 (zero) do numero declarado, seja ele positivo ou negativo. Ele retorna o valor restante ou 0 (zero).
Strings
Vamos tratar sobre os métodos mais comuns de criação de cadeia de caracteres conhecido como strings.
Uma string é uma cadeia de caracteres delimitada por aspas simples (‘ ‘) ou aspas duplas (“ ”) das quais operam em apenas uma linha; já o sistema de cadeia de caracteres usando colchetes duplos ([[ ]]) pode aceitar formatação sem uso de caracteres de escape além de não validar as ações dos mesmo usando colchetes.
Alguns caracteres de escape:
caractere | função | caractere | função |
\n | Quebra de linha. | \r | Demarca o ponto de retorno da string. |
\t | Tabulação horizontal. | \\ | O próprio caractere \ |
\v | Tabulação vertical. | \’ | Quote simples. |
|
| \” | Quote duplo. |
“esse é um texto em uma string com aspas duplas”
‘esse é um texto em uma string com aspas simples’
[[
esse é um texto
em uma string com
colchetes duplos
]]
A diferença entre as aspas simples e duplas para os colchetes é que os colchetes aceitam formatação, já nas aspas só poderá se fazer do uso de formatação com a utilização de caracteres de escape:
“quebra de texto\n agora uma tabulação\t \’um texto em quote\’.”
Exemplos:
Uma string de caractere usando aspas simples, sem caracteres de escape:
‘isso é uma string de caracteres sem formatação’
Agora o mesmo exemplo só que com o uso de caracteres de escape:
‘isso é\numa \’string\’ de caracteres\n\t com formatação’
Se fosse impressa essa string, ela ficaria dessa forma:
isso é
uma ‘string’ de caracteres
com formatação
O mesmo se vale para a cadeia de caracteres com aspas duplas:
“isso é\ruma \”string\” de caracteres\n\tcom formatação.”
Caso fosse impressa, ficaria dessa forma:
isso é
uma “string” de caracteres
com formatação.
Agora no caso do uso da cadeia de caractere com colchetes duplos, esses caracteres de escape ficam inválidos e serão impressos como sendo meros caracteres de string.
O uso do colchete duplo serve para que se possa criar uma formatação sem o uso dos caracteres de escape.
Abre-se a cadeia usando os colchetes duplos [[ e finalizando com colchetes duplos invertidos ]]; também é valido o uso do caractere de atribuição para que também os colchetes duplos sejam ignorados.
Alguns exemplos de uso:
[[
Isso é uma\n string
\tNa qual os caracteres \r de escape são ignorados
\rFormatada
]]
Se fosse impresso essa string, ela ficaria assim:
Isso é uma\n string
\tNa qual os caracteres \r de escape são ignorados
\rFormatada
Agora o mesmo exemplo ignorando os colchetes duplos:
[=[
Isso é uma string.
[[
isso é uma string
com colchetes duplos dentro de uma string com
colchetes duplos
]]
Fim da string
]=]
Caso fosse impresso tal string, ficaria assim:
Isso é uma string.
[[
isso é uma string
com colchetes duplos dentro de uma string com
colchetes duplos
]]
Fim da string
O processo de uso do caractere de atribuição para ignorar os colchetes, também é valido para ignorar eles mesmo usando uma maior sequencia de caracteres de atribuição.
Exemplo:
[==[
String de colchetes duplos com duplos caracteres de atribuição.
[=[
String de colchetes duplos com um caractere de atribuição.
]=]
Fim da string primaria.
]==]
Se fosse impresso tal, seria:
String de colchetes duplos com duplos caracteres de atribuição.
[=[
String de colchetes duplos com um caractere de atribuição.
]=]
Fim da string primaria.
Podemos também concatenar (unir) strings para que se tornem uma só string usando o caractere de ponto final duas vezes seguidas.
"oi "..'mundo '..[[
da...
Lua!!!
]]
Se fosse impresso, ficaria assim:
oi mundo
da...
Lua!!!
Criem condições e insiram textos ao código criado por vocês nas aulas passadas.
Inté a próxima aula.