Récapitulatif - Calcul vectoriel
Fait partie de la section Logique et flux du Journey Lua de Coddy. Leçon 54 sur 54.
Défi
FacileÉcrivez une fonction createVector qui prend des coordonnées x et y et renvoie une chaîne de caractères illustrant des opérations sur les vecteurs.
Créez un constructeur de vecteur qui construit une table avec les champs x et y, puis attache une métatable implémentant __add pour l'addition de vecteurs et __tostring pour une représentation personnalisée sous forme de chaîne. La fonction doit créer deux vecteurs en utilisant les coordonnées fournies, les additionner et renvoyer la représentation sous forme de chaîne du résultat.
Logique :
- Créez une fonction constructeur qui construit une table de vecteur avec les champs x et y
- Définissez une métatable avec
__addqui additionne les composantes x et y correspondantes - Définissez
__tostringpour renvoyer le formatVector(x, y) - Attachez la métatable au vecteur en utilisant
setmetatable() - Créez le premier vecteur avec les coordonnées (x, y)
- Créez le second vecteur avec les coordonnées (x, y)
- Additionnez les deux vecteurs ensemble en utilisant l'opérateur
+ - Renvoyez la représentation sous forme de chaîne du vecteur résultant en utilisant
tostring()
Paramètres :
x(nombre) : La coordonnée x pour les deux vecteursy(nombre) : La coordonnée y pour les deux vecteurs
Retourne : La représentation sous forme de chaîne de la somme de deux vecteurs (string). Format : Vector(6, 8) pour l'entrée (3, 4)
Essayez vous-même
function createVector(x, y)
-- Écrire le code ici
end
Toutes les leçons de Logique et flux
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() contre ipairs()Récapitulatif - Fiche de personnage2Fonctions supplémentaires de la bibliothèque table
table.concat()construction de tables et unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des meilleurs scores3Concepts avancés des fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu’est-ce qu’une fermeture ?Récapitulatif - Gestionnaire d’événements simple6Gestion des erreurs
La fonction error()Appels protégés avec pcall()Récapitulatif - Division sécurisée9Les coroutines pour débutants
Qu’est-ce qu’une coroutine ?créer et reprendre une coroutineMettre en pause avec coroutine.yield()reprendre et céderVérifier l’état d’une coroutineRécapitulatif - Générateur de nombresRécapitulatif - Calcul vectorielEntraînez-vous par vous-même : Compilateur Lua en ligne