Variáveis
Os conceitos básicos sobre variáveis foi discutido em Portugol sendo
a leitura recomendada.
Objetivos
Variáveis
A declaração de variáveis em Lua é feita informando o tipo de dados antes do nome da variável como
exemplificado abaixo:
Sintaxe
local tipo_dado nome_variavel
As variáveis não declaradas utilizando local são consideradas variáveis globais. O escopo de variáveis será visto
mais adiante.
Exemplo 1
local tipo_dado nome_variavel
tipo_dado nome_variavel -- variável global
A linguagem Lua permite que essa declaração seja feita em apenas uma linha. A sintaxe é semelhante ao que foi
visto no exemplo acima. Nesse tipo de declaração os nomes das variáveis são separados por (,). A
atribuição não é permitida em linha.
Sintaxe
tipo_de_dado nome_variavel1, nome_variavel2, nome_variavelN
Exemplo 2
local var1,var2,var3
A atribuição de valor a uma variável é feita utilizando o operador (=) podendo ser na mesma linha ou não.
Sintaxe
local tipo_de_dado nome_variavel1 = valor
Exemplo 3
local valor = 1
A palavra reservada local é opcional na declaração de variáveis. Toda variável criada sem a utilização
dessa palavra reservada é internamente declarada como global. Para variáveis locais é necessário utilizar
local.
Sintaxe
local tipo_dado nome_variavel
tipo_dado nome_variavel
Exemplo 4
local tipo_dado nome_variavel
tipo_dado nome_variavel --global
As variáveis e constantes podem ser declaradas dentro ou fora de funções. Quando declaradas fora de funções
tem escopo global e dentro de funções o escopo é local.
Inferência de dados
A linguagem Lua possui a característica de inferência de dados. Isso significa que quanto criamos uma
variável não precisamos declarar seu tipo. A inferência do tipo de dado está associada ao valor
atribuído à variável.
Sintaxe
local tipo_dado nome_variavel
global tipo_dado nome_variavel
Exemplo 5
local numero = 10
texto = "string"
Regras para nomear variáveis
Identificadores são nomes que utilizamos para identificar variáveis , funções e outros. Na linguagem Lua,
assim como em várias outras, precisamos seguir alguma regras:
Regras
- Iniciar com letras A-Z, a-z ou underscore
- Palavras reservadas não podem ser utilizadas
- Não podem iniciar com dígitos 0-9 ou caracteres especiais como $ , %, , # e outros
Exemplos
--válidos
nome
NOME
_nome
--inválidos
1nome
$nome
123
Exemplos de declaração de variáveis
Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem Lua, vamos ver alguns
exemplos de declaração de variáveis nessa linguagem.
Exemplo 6
--number
local number var1 = 10
local var1 = 10 --inferência
local number var2 = 7.77
local number var3 = -1
--strings
local var1 = [[terceira forma de declarar string]] --inferência
local string var2 = "uma string em Lua"
local string var3 = 'Outra String Em Lua'
--Vetores e matrizes
local string vetor= {"Lua", "Tutorial"}
local var1 = {{1,2},{3,4}} //inferência
--boolean
local var = true
Os tipos de dados function, thread, table e outros são estudados em seus respectivos tópicos com exemplos.
Abaixo é apresentada a tabela contendo a lista de palavras reservadas mencionadas nas regras acima
que não podem ser utilizadas como identificadores(Variáveis, funções e outros):
Tab. 1: Palavras reservadas
|
|
|
|
and |
elseif |
function |
nil |
return |
while |
break |
end |
if |
not |
then |
do |
false |
in |
or |
true |
else |
for |
global |
local |
repeat |
until |
- |
- |
Verificando tipos
Com o uso de inferência da linguagem, em alguns momentos precisamos verificar que tipo de dados uma
que variável possui. Nessa situação utilizamos a função type:
Sintaxe
type (v)
Onde
v: variável que desejamos descobrir o tipo
Retorno
string contendo nome do tipo de dado de v
Exemplo 7
var1 = 1.99
print(type(var1))
Saída
number
Histórico de atualizações
- 12/09/2024 - revisão 2 - Correção em link Portugol e outros pequenos ajustes gramaticais
- 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
-
- 26/05/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.