Nouveau : Datasets open source gratuits disponibles !Decouvrir →
🌙
Debutant 25 min Lua

Debuter avec Lua

Pourquoi Lua ?

Lua est un langage de programmation léger et rapide qui a été créé en 1993 par Roberto Ierusalimschy, Luiz Henrique de Figueiredo et Waldemar Celes. Il est principalement utilisé comme un langage d'extension pour des applications existantes, mais il peut également être utilisé pour créer des programmes autonomes.

Un cas d'utilisation concret est la création de plugins ou d'extensions pour des logiciels tels que Adobe Photoshop, Unity, ou even certains jeux vidéo. Lua offre une excellente performance et est très facile à apprendre, ce qui en fait un choix populaire pour les développeurs.

Prerequis

  • Connaissance de base de la programmation (variables, structures de contrôle)
  • Un éditeur de texte ou d'IDE (Visual Studio Code, Sublime Text, Atom)
  • Lua installé sur votre système (version recommandée : 5.4)

Vous pouvez installer Lua sur Windows en utilisant Chocolatey :

choco install lua

Sur macOS avec Homebrew :

brew install lua

Sur Linux, vous pouvez utiliser le gestionnaire de paquets approprié :

sudo apt-get install lua5.4

Concepts fondamentaux

1. Variables et Types de Données

Lua est un langage dynamiquement typé, ce qui signifie que vous n'avez pas besoin de déclarer le type des variables avant d'utiliser.

## Déclaration de variables
x = 10          -- Entier
y = "Hello"     -- Chaîne de caractères
is_valid = true   -- Booléen

2. Structures de Contrôle

Lua supporte les structures de contrôle habituelles comme if, for, et while.

## Structure conditionnelle
if x > 5 then
    print("x est plus grand que 5")
elseif x == 5 then
    print("x est égal à 5")
else
    print("x est inférieur à 5")
end

## Boucle for
for i = 1, 10 do
    print(i)
end

## Boucle while
while y ~= "" do
    print(y)
    y = " "
end

3. Fonctions

Les fonctions sont définies avec le mot-clé function et retournent automatiquement la dernière valeur évaluée.

## Définition d'une fonction
function add(a, b)
    return a + b
end

## Appel de la fonction
result = add(3, 5)
print(result)  -- Affiche 8

4. Tableaux (dictionnaires)

Lua utilise des tableaux pour stocker des collections d'éléments.

## Création d'un tableau
my_table = {1, 2, 3, "a", "b"}

## Accès aux éléments
first_element = my_table[1]   -- 1
second_element = my_table[2]  -- 2

## Ajout d'éléments
my_table[#my_table + 1] = "c"

## Parcourir un tableau
for i, v in ipairs(my_table) do
    print(i, v)
end

5. Modules et Fonctions de Bibliothèque

Lua utilise des modules pour organiser le code.

-- my_module.lua
function add(a, b)
    return a + b
end

return {
    add = add
}

Utilisation du module :

## main.lua
local my_module = require("my_module")

result = my_module.add(3, 5)
print(result)  -- Affiche 8

Mise en pratique : Projet fil rouge

Nous allons créer un gestionnaire de tâches simple. Ce gestionnaire va permettre d'ajouter et de lister des tâches.

Étape 1 : Création du Fichier Principal

Créez un fichier main.lua avec le contenu suivant :

## main.lua
tasks = {}

function add_task(task)
    table.insert(tasks, task)
end

function list_tasks()
    for i, task in ipairs(tasks) do
        print(i .. ". " .. task)
    end
end

print("Bienvenue dans le gestionnaire de tâches!")
while true do
    io.write("Entrez une tâche (ou 'q' pour quitter): ")
    local input = io.read()
    if input == "q" then
        break
    end
    add_task(input)
end

print("Liste des tâches:")
list_tasks()

Étape 2 : Exécution du Script

Exécutez le script avec la commande suivante :

lua main.lua

Erreurs fréquentes et debugging

  1. Erreur de syntaxe

    # ❌ Mauvais
    print("Hello, World!
    
    # ✅ Correct
    print("Hello, World!")
    
  2. Accès à une variable non définie

    # ❌ Mauvais
    print(y)
    
    # ✅ Correct
    y = "Hello"
    print(y)
    
  3. Erreur de type

    # ❌ Mauvais
    x = 10
    print(x + "2")  -- Erreur
    
    # ✅ Correct
    x = 10
    print(x + tonumber("2"))
    

Pour aller plus loin

  1. Gestion de l'erreur avec pcall et xpcall

    Documentation Lua

  2. Utilisation des tableaux multidimensionnels

    Documentation Lua

  3. Introduction aux modules et à l'organisation du code

    Documentation Lua

Défi pratique

Créez un petit script qui permet de convertir des degrés Celsius en Fahrenheit et vice versa.

## temperature_converter.lua
function celsius_to_fahrenheit(c)
    return (c * 9 / 5) + 32
end

function fahrenheit_to_celsius(f)
    return (f - 32) * 5 / 9
end

print("Bienvenue dans le convertisseur de température!")
while true do
    io.write("Entrez une température et la unité (C ou F), ou 'q' pour quitter: ")
    local input = io.read()
    if input == "q" then
        break
    end

    local value, unit = input:match("(%d+)([CF])")
    value = tonumber(value)

    if unit == "C" then
        print(celsius_to_fahrenheit(value))
    elseif unit == "F" then
        print(fahrenheit_to_celsius(value))
    else
        print("Unité invalide!")
    end
end

Exécutez le script avec la commande suivante :

lua temperature_converter.lua

Besoin d'aide sur Lua ?

Besoin d'aide sur un projet technique ? Decrivez-le pour des conseils personnalises.

Recevoir des conseils

Questions frequentes

Qu'est-ce que Lua?
Lua est un langage de programmation lightweight, interprété et multiplateforme créé en 1993 par Roberto Ierusalimschy, Luiz Henrique de Figueiredo et Waldemar Celes. C'est principalement utilisé comme extension pour d'autres applications.
Comment installer Lua sur mon ordinateur?
Pour installer Lua, téléchargez la dernière version depuis le site officiel (lua.org). Suivez les instructions du fichier README pour compiler et installer le langage sur votre système d'exploitation.
Quelles sont les principales caractéristiques de Lua?
Lua est connu pour son petite taille et sa rapidité. Il est simple à apprendre et à utiliser, ce qui la rend populaire dans le développement mobile et embedded, ainsi que comme langage de scripting côté serveur.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.