Lua - Strutture del sistema operativo

In qualsiasi applicazione, è spesso richiesto per accedere alle funzioni a livello di sistema operativo ed è reso disponibile con la libreria del sistema operativo. L'elenco delle funzioni disponibili è elencato nella tabella seguente.

Sr.No. Libreria / Metodo e scopo
1

os.clock ()

Restituisce un'approssimazione della quantità in secondi di tempo della CPU utilizzata dal programma.

2

os.date ([format [, time]])

Restituisce una stringa o una tabella contenente data e ora, formattata in base al formato di stringa specificato.

3

os.difftime (t2, t1)

Restituisce il numero di secondi dall'ora t1 all'ora t2. In POSIX, Windows e alcuni altri sistemi, questo valore è esattamente t2-t1.

4

os.execute ([command])

Questa funzione è equivalente al sistema di funzioni ANSI C. Passa il comando per essere eseguito da una shell del sistema operativo. Il suo primo risultato è vero se il comando è terminato correttamente o nullo in caso contrario.

5

os.exit ([code [, close])

Chiama l'uscita della funzione ANSI C per terminare il programma host. Se il codice è vero, lo stato restituito è EXIT_SUCCESS; se il codice è falso, lo stato restituito è EXIT_FAILURE; se il codice è un numero, lo stato restituito è questo numero.

6

os.getenv (varname)

Restituisce il valore della variabile di ambiente del processo varname o nil se la variabile non è definita.

7

os.remove (filename)

Elimina il file (o la directory vuota, sui sistemi POSIX) con il nome specificato. Se questa funzione fallisce, restituisce zero, più una stringa che descrive l'errore e il codice di errore.

8

os.rename (oldname, newname)

Rinomina il file o la directory denominata oldname in newname. Se questa funzione fallisce, restituisce zero, più una stringa che descrive l'errore e il codice di errore.

9

os.setlocale (locale [, category])

Imposta la locale corrente del programma. locale è una stringa dipendente dal sistema che specifica una locale; categoria è una stringa opzionale che descrive la categoria da modificare: "all", "collate", "ctype", "money", "numeric" o "time"; la categoria predefinita è "all". La funzione restituisce il nome della nuova locale o nullo se la richiesta non può essere soddisfatta.

10

os.time ([table])

Restituisce l'ora corrente quando viene chiamata senza argomenti o un'ora che rappresenta la data e l'ora specificate dalla tabella data. Questa tabella deve contenere i campi anno, mese e giorno e può contenere i campi ora (il valore predefinito è 12), min (il valore predefinito è 0), sec (il valore predefinito è 0) e isdst (il valore predefinito è nullo). Per una descrizione di questi campi, vedere la funzione os.date.

11

os.tmpname ()

Restituisce una stringa con un nome file che può essere utilizzato per un file temporaneo. Il file deve essere aperto esplicitamente prima del suo utilizzo e rimosso esplicitamente quando non è più necessario.

Funzioni comuni del sistema operativo

Di seguito viene mostrato un semplice esempio di utilizzo delle funzioni matematiche comuni.

-- Date with format
io.write("The date is ", os.date("%m/%d/%Y"),"\n")

-- Date and time
io.write("The date and time is ", os.date(),"\n")

-- Time
io.write("The OS time is ", os.time(),"\n")

-- Wait for some time
for i=1,1000000 do
end

-- Time since Lua started
io.write("Lua started before ", os.clock(),"\n")

Quando eseguiamo il programma precedente, otterremo un output simile al seguente.

The date is 01/25/2014
The date and time is 01/25/14 07:38:40
The OS time is 1390615720
Lua started before 0.013

Gli esempi sopra sono solo alcuni degli esempi comuni, possiamo usare la libreria del sistema operativo in base alle nostre necessità, quindi prova a utilizzare tutte le funzioni per essere più familiare. Esistono funzioni come remove che aiuta a rimuovere il file, execute che ci aiuta a eseguire i comandi del sistema operativo come spiegato sopra.