Aller au contenu

Initiation au Lua avec Scribunto/Débogage

Leçons de niveau 10
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Débogage
Icône de la faculté
Chapitre no 20
Leçon : Initiation au Lua avec Scribunto
Chap. préc. :Quelques compléments

Exercices :

Sur les compléments
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Initiation au Lua avec Scribunto : Débogage
Initiation au Lua avec Scribunto/Débogage
 », n'a pu être restituée correctement ci-dessus.

Ce chapitre regroupe tous les messages d'erreur et leurs solutions.

attempt to compare number with string

[modifier | modifier le wikicode]

Convertir soit la chaine avec tonumber(), soit le nombre avec tostring().

attempt to index field 'args' (a nil value)

[modifier | modifier le wikicode]

Il faut lever l'exception nulle sur la variable avant d'accéder à sa propriété "args".

bad argument #1 to 'find' (string expected, got table)

[modifier | modifier le wikicode]

Convertir la table en ajoutant ".text" en suffixe.

bad argument #2 to 'tonumber' (base out of range)

[modifier | modifier le wikicode]

Cela se produit quand il faut convertir un tableau en chaine, ex : tonumber(t)tonumber(t[1]).

Erreur Lua : Cannot pass circular reference to PHP

[modifier | modifier le wikicode]

Se produit quand on appelle un titre comme un texte, par exemple mw.title.getCurrentTitle() au lieu de mw.title.getCurrentTitle().fullText.

Le module a renvoyé une valeur nil. Il est supposé renvoyer un tableau d’exportations

[modifier | modifier le wikicode]

Il manque le return p à la fin du module qui commence par local p = {}.

Modèle en boucle détecté

[modifier | modifier le wikicode]

Un module s’appelle lui-même, il faut donc isoler cette partie récursive du modèle qui l'invoque entre balises <noinclude>...</noinclude>.