Conversión de tipos (Cast)
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 32 de 90.
Para convertir la entrada a un tipo diferente, necesitamos realizar un cast.
Para convertir una cadena a un número, escribiremos:
var = io.read()
var = tonumber(var)O en una sola línea,
var = tonumber(io.read())Si la entrada es un número, es decir, 5, 4, 54, entonces var contendrá un número. Si la entrada contiene un número no válido: 5ab, bb, akt, etc., entonces tonumber() devolverá nil.
Aquí hay una tabla que muestra cómo realizar conversiones a diferentes tipos:
| Conversión | Explicación |
| tonumber() | Convertir a un número |
| tostring() | Convertir a una cadena |
Es importante usar el tipo correcto porque puede afectar el resultado.
La concatenación de dos cadenas dará como resultado:
"5" .. "5" = "55"
Sumar dos números dará como resultado:
5 + 5 = 10
Desafío
PrincipianteEn este desafío, trabajarás con múltiples entradas y realizarás cálculos.
Cómo recibir múltiples entradas:
var1 = io.read() -- Primera entrada
var2 = io.read() -- Segunda entradaTu tarea:
- Lee el primer número de la entrada y almacénalo en una variable
- Lee el segundo número de la entrada y almacénalo en otra variable
- Convierte ambas variables al tipo number (para cálculos numéricos)
- Calcula la multiplicación de estos dos números
- Imprime el resultado
Ejemplo:
Si las entradas son 2 y 4.5, tu programa debería mostrar 9.0
Recuerda: Cada caso de prueba contiene exactamente dos entradas, una tras otra.
Hoja de referencia
Conversión de tipos (Casting) en Lua:
-- Convert string to number
var = tonumber(io.read())
-- Convert to string
var = tostring(io.read())
-- tonumber returns nil for invalid input
var = tonumber("abc") -- var is nilImportante: Concatenar cadenas las une, mientras que sumar números realiza una operación aritmética:
"5" .. "5" = "55" -- String concatenation
5 + 5 = 10 -- Numeric additionMúltiples entradas:
var1 = io.read()
var2 = io.read()Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área