Introduction au Lua/Fonctions OS
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
modifierCette leçon suppose que vous ayez assimilé la leçon Tables.
Créer un script Lua avec...
modifier- Accéder au Module:Sandbox.
- Supprimer le code existant.
- 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
modifier- Rendez-vous sur "votre page de test".
- 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
modifier
- clock
- 0.003786627
- date
- Sat 28 Dec 2013 03:20:55 AM UTC
- difftime
- 31535999
- time
- 1388200855
Comprendre le nouveau script
modifieros.clock()
retourne le montant approximatif du temps nécessaire au micro-processeur pour exécuter le script.os.date()
retourne la date courante.local t1 = {year = 2014, month = 1, day = 1, hour = 0, min = 0, sec = 0, isdst = false}
définit une variable localet1
en tant que table avec les valeurs date et temps données.isdst = false
indique la valeur temps n'est pas ...daylight savings time...
local t2 = {year = 2014, month = 12, day = 31, hour = 23, min = 59, sec = 59, isdst = false}
définit une variable localet2
en tant que table avec les valeurs date et temps données.os.difftime(os.time(t2), os.time(t1))
retourne la différence en seconde entret1
ett2
.os.time()
retourne le temps (l'heure) courant(e) en secondes.
Conclusion
modifierFé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
modifierRéférences
modifier