Ir para conteúdo

Material De Apoio Iv


joaohd

Posts Recomendados

Material de Apoio IV

Estruturas de controle

 

 

Estruturas de controle:

 

O que são:

São estruturas capazes de controlar o fluxo e o acesso dos dados e aos dados, restringindo trechos do código, protegendo-o ou simplesmente separando-o.

 

Em Lua, temos à nossa disposição as estruturas de controle if, while, repeat e for. Falaremos hoje das estruturas formadas especificamente com o if.

O comando if:

O comando if, em português "se", restringe o fluxo caso a expressão atribuída a ele seja falsa, ou seja, somente executa caso seja verdade. Lembrando que qualquer resultado diferente de 0, false ou nil, torna a expressão verdadeira.

Sua lógica é bem simples:

 

if [expressão] then

 

logo,

 

se [expressão] então

 

Outra coisa que deve ser observada, é que a expressão sempre resulta em um valor booleano. Caso seja outra coisa qualquer, gerará um erro no código.

Cada estrutura if que é aberta, tem de ser fechada com o uso da estrutura end. Observe:

 

	if [expressão] then
	Comandos
end

 

logo,

 

	se [expressão] então
	Comandos
fim

 

Agora você vira e diz: "Ah isso é muito fácil. Já sou scripter?" e eu te respondo: "Calma lá jovem aventureiro, o buraco é mais escuro." Após ler e entender bem a estrutura acima, podemos passar à estrutura if-else.

Bom, mas o que é esta estrutura? Diferente da estrutura if simples, esta estrutura separa o fluxo de dados em dois caminhos distintos. O primeiro, é executado quando a expressão proposta é verdadeira, e o segundo só é executado quando a expressão não é verdadeira, ou seja, falsa. Podemos entendê-la em português como "se-senão". Como esta estrutura contém o if, ela deve também ser finalizada com o uso do end. Observe abaixo uma analogia:

 

if [expressão] then
	Comandos verdadeiros
else
	Comandos falsos
end

 

logo,

 

se [expressão] então
	Comandos verdadeiros
senão
	Comandos falsos
fim

 

Nesta estrutura citada acima, os "Comandos verdadeiros" serão executados quando a expressão for verdadeira e os "Comandos falsos", serão executados quando a expressão for falsa. "Que moleza hein!?" Ainda está bem fácil. Vamos esquentar um pouco mais. Agora vamos partir para a estrutura if-elseif, análoga a "se-mas se".

 

A estrutura formada com if-elseif é largamente utilizada por termos a possibilidade de fazermos várias expressões ao mesmo tempo, cada uma tendo como um retorno um comando específico. Veja sua sintaxe:

 

	if [expressão] then
	Comandos
elseif [expressão 2] then
	Comandos 2
elseif [expressão 3] then
	Comandos 3
end

 

logo,

 

se [expressão] então
	Comandos
mas se [expressão 2] então
	Comandos 2
mas se [expressão 3] então
	Comandos 3
fim

 

Como podemos perceber, eu fiz múltiplas suposições para que o meu código testasse e, caso alguma seja satisfeita, os comandos a ela relacionados, serão executados.A próxima e penúltima estrutura, é a estrutura if-elseif-else, traduzindo seria "se-mas se-senão".

 

A estrutura if-elseif-else, apesar do nome, é bem fácil de ser compreendida. Na estrutura anterior, caso nenhuma das expressões resultasse em verdadeiro, nada seria executado. E essa é a diferença. Nesta nova estrutura, caso nenhuma expressão seja atendida, podemos ainda executar alguma coisa. Observe:

 

	if [expressão] then
	Comandos
elseif [expressão 2] then
	Comandos 2
else
	Comandos falsos
end

 

logo,

 

se [expressão] então
	Comandos
mas se [expressão 2] então
	Comandos 2
senão	
	Comandos falsos
fim

 

Nossa mas que tutorial gigante! Mas ainda não acabou! A última estrutura que veremos hoje é a que chamamos de aninhamento de if. É uma estrutura bem simples e sua função é a mesma que uma peneira. Ela vai refinando os dados e restringindo-os. Observe abaixo um exemplo:

 

if [expressão] then
	if [expressão 2] then
		if [expressão 3] then
			Comandos
		end
	end
end

 

fazendo uma analogia ao português:

 

	se [expressão] então
	se [expressão 2] então
		se [expressão 3] então
			Comandos
		fim
	fim
fim

 

Fazendo uma análise mais criteriosa da estrutura, podemos ver que os comandos somente serão executados caso todas as expressões sejam verdadeiras. Todas as estruturas anteriores a esta, podem ser mescladas nesta última. Mas lembre-se de sempre obedecer as regras de finalização (end).

 

 

Acho que é só.

 

flw

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

Ótimo tópico!

 

Muito bem explicado, parabéns mais uma vez Apocarai...

 

Continue trazendo informações ao XTibia.

Atentamente;

Andrey Gutierrez

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

  • 2 weeks later...
×
×
  • Criar Novo...