Menu
Coddy logo textTech

Types unions

Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 31 sur 73.

Parfois, un seul type ne suffit pas. Un identifiant utilisateur peut arriver sous forme de "user123" ou de 42. En Lua pur, vous espéreriez simplement le meilleur ; Luau vous donne des types union — le symbole pipe | se lit « ou » :

local userId: number | string

userId = "user123"  -- ✓ une chaîne est autorisée
userId = 42          -- ✓ un nombre est autorisé
userId = true        -- ✗ erreur de type : boolean n'est pas dans l'union

La variable peut contenir n'importe quel membre de l'union — et seulement ceux-là. C'est la différence cruciale avec any : une union reste stricte sur ce qui est autorisé tout en vous donnant la flexibilité dont vous avez besoin.

Les unions sont particulièrement utiles pour les paramètres de fonction qui acceptent plusieurs formats d'entrée :

function printId(id: number | string): ()
    print(id)
end

printId(42)          -- fonctionne avec un nombre
printId("user123")   -- fonctionne avec une chaîne

Vous connaissez déjà string? — c'était votre première union ! C'est simplement un raccourci pour string | nil. Dans la prochaine leçon, vous apprendrez comment manipuler en toute sécurité une valeur d'union une fois que vous en avez une.

challenge icon

Défi

Facile

Créez une fonction nommée printId qui prend id: number | string et l'affiche — type de retour explicite ().

Déclarez une variable status de type string | number, initialisée à "active".

Ensuite, dans l'ordre :

  1. Appelez printId(42)
  2. Appelez printId("user123")
  3. Affichez status
  4. Réaffectez status à 200 et affichez-le à nouveau

Quatre lignes de sortie au total.

Essayez vous-même

-- Écrivez le code ici
-- printId(id: number | string): ()
-- local status: string | number = "active"
-- appelez printId(42), printId("user123"),
-- affichez status, réassignez à 200, affichez à nouveau
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 Introduction à Luau