Menu
Coddy logo textTech

Le Cast

Fait partie de la section Fundamentals du Journey Lua de Coddy — leçon 32 sur 90.

Pour convertir l'entrée en un type différent, nous devons effectuer un transtypage (cast).

Pour convertir une chaîne de caractères en nombre, nous écrirons :

var = io.read()
var = tonumber(var)

Ou en une seule ligne,

var = tonumber(io.read())

Si l'entrée est un nombre, c'est-à-dire 5, 4, 54 alors var contiendra un nombre. Si l'entrée contient un nombre invalide : 5ab, bb, akt, etc. alors tonumber() retournera nil.

Voici un tableau qui montre comment effectuer des conversions vers différents types :

ConversionExplication
tonumber()Convertir en un nombre
tostring()Convertir en une chaîne de caractères

Il est important d'utiliser le bon type car cela peut affecter le résultat.

La concaténation de deux chaînes donnera :

"5" .. "5" = "55"

L'addition de deux nombres donnera :

5 + 5 = 10

challenge icon

Défi

Débutant

Dans ce défi, vous allez travailler avec plusieurs entrées et effectuer des calculs.

Comment recevoir plusieurs entrées :

var1 = io.read()  -- Première entrée
var2 = io.read()  -- Deuxième entrée

Votre tâche :

  1. Lire le premier nombre depuis l'entrée et le stocker dans une variable
  2. Lire le deuxième nombre depuis l'entrée et le stocker dans une autre variable
  3. Convertir les deux variables en type number (pour les calculs numériques)
  4. Calculer la multiplication de ces deux nombres
  5. Afficher le résultat

Exemple :

Si les entrées sont 2 et 4.5, votre programme doit afficher 9.0

Rappel : Chaque cas de test contient exactement deux entrées, l'une après l'autre.

Aide-mémoire

Le casting en Lua :

-- Convertir une chaîne en nombre
var = tonumber(io.read())

-- Convertir en chaîne
var = tostring(io.read())

-- tonumber renvoie nil pour une entrée invalide
var = tonumber("abc")  -- var est nil

Important : La concaténation de chaînes les assemble, tandis que l'addition de nombres effectue un calcul arithmétique :

"5" .. "5" = "55"  -- Concaténation de chaînes
5 + 5 = 10          -- Addition numérique

Entrées multiples :

var1 = io.read()
var2 = io.read()

Essayez vous-même

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals