Ir para conteúdo

#3 - aula de scripting lua- palavras e caracteres reservados


Poccnn

Posts Recomendados

Palavras e caracteres reservados

aulaLogo.jpg

 

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.

aulaLogo.jpg.f11ed52f18ee883fc1127c9857ce17ba.jpg

Editado por Poccnn
Link para o comentário
Compartilhar em outros sites

15 horas atrás, ZikaLord disse:

@Poccnn

 

 

[['Ola Player/nVip/nLvl 150/vJogue e Ganhe Premiun']]

espero que esteja certo ;/:

 

Sim. Mas não há necessidade de por una cadeia de caracteres dentro de outra cadeia de caracteres.

Editado por Poccnn
Link para o comentário
Compartilhar em outros sites

A aulas ficarão bem interessantes quando for tratado das livrarias de lua.

 

Edite: irei liberar a próxima aula na quarta-feira. Inté lá. 

Link para o comentário
Compartilhar em outros sites

 


"Olá"..'viajante você aceita uma /'xícara/' de café?'..

[[

espero que não seja muito incomodo

por que esta aula está cada vês mais interessante!
]]

 

'Bom /nespero que /n/t esteja /'correto/' sr.' :D

Link para o comentário
Compartilhar em outros sites

10 horas atrás, Nildson disse:

 

 

"Olá"..'viajante você aceita uma /'xícara/' de café?'..

[[

espero que não seja muito incomodo

por que esta aula está cada vês mais interessante!

]]

 

'Bom /nespero que /n/t esteja /'correto/' sr.' :D

Ficou bom. Aprendeu corretamente.

 

15 horas atrás, ZikaLord disse:

ja saiu a aula 4 ? @Poccnn

 

 

 

Quarta-feira. 

Link para o comentário
Compartilhar em outros sites

8 horas atrás, Poccnn disse:

Ficou bom. Aprendeu corretamente.

 

Quarta-feira. 

Nossa que legal, estou muito ansioso para esta quarta-feira, bom estudos para quem também esta participando das aulas. =):

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Primeira tentativa

 

 

"Bom"..'Dia operário, a /'obra/' está pronta?..

[[

Está correndo bem senhor

creio que mais um dia esteja concluída!

]]

 

'Muito bem /nentão até /n/t bom /'trabalho/' operário.

Link para o comentário
Compartilhar em outros sites

3 horas atrás, andrewbonisil disse:

..'Dia operário, a /'obra/' está pronta?..

'Muito bem /nentão até /n/t bom /'trabalho/' operário.

O uso de um bom editor de script ajuda a evitar erros como esse acima. Que no caso faltou  uma aspa simples para fechar as duas strings. 

Mas está se saindo bem. Continue assim.

Se possível, leia as outras aulas.

Link para o comentário
Compartilhar em outros sites

Em 27/04/2017 at 08:52, Poccnn disse:

O uso de um bom editor de script ajuda a evitar erros como esse acima. Que no caso faltou  uma aspa simples para fechar as duas strings. 

Mas está se saindo bem. Continue assim.

Se possível, leia as outras aulas.

obrigado!

Link para o comentário
Compartilhar em outros sites

56 minutos atrás, Saymon14 disse:
"Você ganhou uma".. [[espada do dragão]]"do npc Alexus"..

 

No final da string tem os caracteres de concatenação, mas não estão concatenando nenhuma outra string a ela.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...