Variáveis Locais
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 84 de 90.
Lua fornece a palavra-chave local para criar variáveis com escopo limitado. Quando você declara uma variável com local, ela só pode ser acessada dentro do bloco específico onde foi criada.
Veja como você cria uma variável local:
local playerHealth = 100
local isGameActive = trueA principal diferença é que as variáveis locais estão limitadas ao seu bloco. Por exemplo, se você criar uma variável local dentro de um bloco do...end, ela não poderá ser acessada fora desse bloco:
do
local secretCode = 1234
print(secretCode) -- Isso funciona
end
print(secretCode) -- Isso causaria um erroDesafio
FácilCrie um bloco do...end e declare uma variável local chamada secretMessage dentro dele com o valor "Hidden data". Dentro do mesmo bloco, imprima o valor de secretMessage.
Após o término do bloco do...end, tente imprimir secretMessage novamente. Como as variáveis locais estão confinadas ao escopo de seu bloco, esta segunda instrução de impressão resultará em nil porque a variável não está mais acessível fora de seu bloco.
Folha de consulta
Use a palavra-chave local para criar variáveis com escopo limitado:
local playerHealth = 100
local isGameActive = trueVariáveis locais são confinadas ao seu bloco e não podem ser acessadas fora dele:
do
local secretCode = 1234
print(secretCode) -- Isso funciona
end
print(secretCode) -- Isso causaria um erroExperimente você mesmo
-- TODO: Escreva seu código aqui
-- Crie um bloco do...end com uma variável local secretMessage
-- Imprima secretMessage dentro do bloco
-- Depois tente imprimir secretMessage fora do blocoEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário11Tabelas 2: Estilo Dicionário
Pares Chave-ValorCriando Tabelas Estilo DicionárioAcessando - Notação de ColchetesAcessando com Notação de PontoAdicionando e Modificando ParesRemovendo Pares com nilRecapitulação - Propriedades de Itens14Escopo de Variáveis
Variáveis GlobaisVariáveis LocaisPor que usar variáveis locais?Escopo e BlocosRecapitulação - Desafio de Escopo3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área