Cast
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 32 de 90.
Para converter a entrada para um tipo diferente, precisamos fazer o cast.
Para converter uma string em um número, escreveremos:
var = io.read()
var = tonumber(var)Ou em uma linha,
var = tonumber(io.read())Se a entrada for um número, ou seja, 5, 4, 54, então var conterá um número. Se a entrada contiver um número inválido: 5ab, bb, akt, etc., então tonumber() retornará nil.
Aqui está uma tabela que mostra como converter para diferentes tipos:
| Conversão | Explicação |
| tonumber() | Converter para um número |
| tostring() | Converter para uma string |
É importante usar o tipo correto porque isso pode afetar a saída.
A concatenação de duas strings resultará em:
"5" .. "5" = "55"
A soma de dois números resultará em:
5 + 5 = 10
Desafio
InicianteNeste desafio, você trabalhará com múltiplas entradas e realizará cálculos.
Como receber múltiplas entradas:
var1 = io.read() -- Primeira entrada
var2 = io.read() -- Segunda entradaSua tarefa:
- Leia o primeiro número da entrada e armazene-o em uma variável
- Leia o segundo número da entrada e armazene-o em outra variável
- Converta ambas as variáveis para o tipo number (para cálculos numéricos)
- Calcule a multiplicação desses dois números
- Imprima o resultado
Exemplo:
Se as entradas forem 2 e 4.5, seu programa deve exibir 9.0
Lembre-se: Cada caso de teste contém exatamente duas entradas, uma após a outra.
Folha de consulta
Conversão de tipos (Casting) em Lua:
-- Converter string para número
var = tonumber(io.read())
-- Converter para string
var = tostring(io.read())
-- tonumber retorna nil para entrada inválida
var = tonumber("abc") -- var é nilImportante: Concatenar strings as junta, enquanto somar números realiza aritmética:
"5" .. "5" = "55" -- Concatenação de strings
5 + 5 = 10 -- Adição numéricaMúltiplas entradas:
var1 = io.read()
var2 = io.read()Experimente você mesmo
Esta 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ário3Operadores 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