< Introduction au Lua
fin de la boite de navigation du chapitre

Un module Lua-Scribunto pour Mediawiki, est une page de l'espace de nom "Module" qui utilise une table comme variable locale pour stocker ses fonctions et variables mais aussi pour renvoyer la réponse à la fin du processus[1].

Le chapitre bibliothèques Lua, étudie les fonctions intégrées au language et communément regroupées en librairies ou bibliothèques. Cette leçon vous apprendra comment utiliser les Librairie système d'exploitation Lua, dans vos scripts.

Prérequis

Cette leçon suppose que vous ayez assimilé la leçon Tables.

Créer un script Lua avec...

  1. Accéder au Module:Sandbox.
  2. Supprimer le code existant.
  3. Ajouter le code suivant et enregistrer la page:
local p = {}
 
function p.osclock()
    return ';clock\n:' .. os.clock() .. '\n'
end
 
function p.osdate()
    return ';date\n:' .. os.date() .. '\n'
end
 
function p.osdifftime()
    local t1 = {year = 2014, month = 1, day = 1, hour = 0, min = 0, sec = 0, isdst = false}
    local t2 = {year = 2014, month = 12, day = 31, hour = 23, min = 59, sec = 59, isdst = false}
    return ';difftime\n:' .. os.difftime(os.time(t2), os.time(t1)) .. '\n'
end
 
function p.ostime()
    return ';time\n:' .. os.time() .. '\n'
end	
 
return p

Tester votre nouveau script

  1. Rendez-vous sur "votre page de test".
  2. Ajouter le code suivant et enregistrer la page:
{{#invoke:Sandbox|osclock}}
{{#invoke:Sandbox|osdate}}
{{#invoke:Sandbox|osdifftime}}
{{#invoke:Sandbox|ostime}}

Le résultat doit correspondre à ceci

clock
0.003786627
date
Sat 28 Dec 2013 03:20:55 AM UTC
difftime
31535999
time
1388200855

Comprendre le nouveau script

  1. os.clock() retourne le montant approximatif du temps nécessaire au micro-processeur pour exécuter le script.
  2. os.date() retourne la date courante.
  3. local t1 = {year = 2014, month = 1, day = 1, hour = 0, min = 0, sec = 0, isdst = false} définit une variable locale t1 en tant que table avec les valeurs date et temps données.
    isdst = false indique la valeur temps n'est pas ...daylight savings time...
  4. local t2 = {year = 2014, month = 12, day = 31, hour = 23, min = 59, sec = 59, isdst = false} définit une variable locale t2 en tant que table avec les valeurs date et temps données.
  5. os.difftime(os.time(t2), os.time(t1)) retourne la différence en seconde entre t1 et t2.
  6. os.time() retourne le temps (l'heure) courant(e) en secondes.

Conclusion

Félicitation! Vous êtes capable de créer, tester et comprendre un script Lua qui utilise les fonctions de la bibliothèque OS. Continuez en choisissant une autre bibliothèque de fonctions Lua.

Voir aussi

Références

Lua for Wikiversity (en)

Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.