Leçons de niveau 12

Introduction au Lua/Fonctions OS

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Fonctions OS
Icône de la faculté
Chapitre no 13
Leçon : Introduction au Lua
Chap. préc. :Fonctions Math
Chap. suiv. :Fonctions Texte
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Introduction au Lua : Fonctions OS
Introduction au Lua/Fonctions OS
 », n'a pu être restituée correctement ci-dessus.


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[modifier | modifier le wikicode]

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

Créer un script Lua avec...[modifier | modifier le wikicode]

  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[modifier | modifier le wikicode]

  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[modifier | modifier le wikicode]

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

Comprendre le nouveau script[modifier | modifier le wikicode]

  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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Références[modifier | modifier le wikicode]

Lua for Wikiversity (en)