If Then Else (tutorial)

## O IF statement

Declarações condicionais são um dos alicerces fundamentais para qualquer linguagem de codificação. Eles são apenas como eles soam, se uma condição for atendida, em seguida, um bloco de código será executado. A forma mais simples de instrução condicional disponível na Lua é a declaração "If", o que indica que, se forem satisfeitas uma ou mais condições, o seguinte bloco de código será executado. IF têm o seguinte formato:

```
 local Variable = 1
 if Variable==1 then
   write("A variavel e 1!\n")
 end
 if Variable==2 then
   write("A variavel e 2!\n")
 end

```

Este script simplesmente executará: "A variável é 1!". O operador "==" significa simplesmente "é igual a", para que a linha lê ao longo das linhas de "Se variável é igual a 1, em seguida, fazer isso". "end" marca o fim do bloco de código, e qualquer coisa depois que ele será executado normalmente, independentemente de as condições que foram (ou não) satisfeitas.

Parênteses podem, opcionalmente, ser usado em torno condições, embora não seja necessário a menos que você quiser controlar a ordem de um cálculo.

Note-se que a linguagem LUA desconsidera novas linhas, seria igualmente aceitável escrever o seguinte:

```
if Variable==1 then write("The variable is 1!\n") end

```

No entanto, este método é geralmente menos legível e não utilizada.

Lua determina se uma instrução if passa usando os valores boolean retornados pelo estado, de modo que seria possível (mas desnecessário) para introduzir um boolean como condição:

```
if true then write("This will always write!\n") end
if false then write("This will never write!\n") end

```

## Condições permitidas

São operadores permitidos para ele comparar com algo, portanto temos em LUA:

```
igual a ==
diferente ~=
maior ou igual >=
menor ou igual <=
maior que >
menor que <

outras:

and, or ou not

```

Um rápido exemplo:

```
local Num1,Num2,Num3 = 1,2,3

--Multiple if
if Num1 > Num2 then
  write("Condition is true!")
end
if Num2 < Num3 then
  write("Condition is true!")
end

--Using Or
if (Num1>Num2) or (Num2<Num3) then
  write("Condition is true!")
end

```

## O Else statement

É comum que você pode querer executar algum código sobre o fracasso da condição. Se este for o caso, pode ser alcançada através da utilização de dois separado If statement, mas é mais simples de utilizar a instrução "else".

```
 local Num1 = 1
 local Num2 = 2

 --Usando multiplos if
 if Num1 > Num2 then
   write("Number 1 is greater!\n")
 end
 if Num1 <= Num2 then
   write("Number 1 is not greater!\n")
 end

 --Usando else
 if Num1>Num2 then
   write("Number 1 is greater!\n")
 else
   write("Number 1 is not greater!\n")
 end

```

## O Elseif statement

Por vezes, pode ser desejável executar o código "else" apenas sob certas condições. Este é o lugar onde "elseif" torna-se útil. Ele age como se fosse um outro if, mas também funciona como o "else" do if que estiver dentro.

```
local Num1, Num2, Num3 = 1,2,3

--Com elseif
if Num1>Num2 then
  write("First condition passed!\n")
elseif Num3>Num2 then
  write("First condition failed, second condition passed!\n")
end

```

O "elseif" statement pode tornar-se ainda mais útil se você encadear mais "elseif" e "else" com ele, mas lembre-se que o primeiro caso que passa vai quebrar a cadeia!

```
if Bool then
  --Stuff
elseif Var1 == Var2 then
  --Other stuff
elseif Table[1] then
  --More stuff
else
  --etc...
end

```

Hayden Almeida (discussão) 19h01min de 19 de agosto de 2015 (UTC)