Portale IRC - Guide scripts e snippet

martedì 16 novembre 2010

Le variabili - Aree Temporanee a cui assegnare un valore

Variabili


Le Variabili sono aree temporanee a cui si può assegnare dei valori, che si possono poi usare in un secondo tempo negli Scripts.

Se ci si riferisce ad una variabile, e questa non esiste, si avrà in ritorno il valore $null. Il valore $null può essere usato in comparazioni con if-then-else per controllare le diramazioni.

I seguenti comandi permettono di creare e settare valori di varaibili.

/set [-snzuN] <%­var> [valore]

Questo imposta il valore di %­var al valore specificato.

Se si specifica il parametro -uN, %­var verrà annullata dopo N secondi, presumendo che non sarà settata di nuovo da un altro script. Se si specifica N=0, la variabile sarà annullata quando lo script termina.

Il parametro -z decrementa %­var finchè non raggiunge zero, e poi la annulla.
Il parametro -n fa si che venga trattata come testo.

/unset [-s] <%­var>
Questo annulla e rimuove la variabile indicata dalla lista delle variabili. Se si specifica una variabile con caratteri wildcard allora tutte le varibili corrispondenti verranno rimosse.


/unset %­test*

Questo rimuoverà tutte le varibili che iniziano con la parola %­test.

E' anche possibile settare/desettare variabili usando le parentesi [ ]:

vartest
set %a [ $+ b ] 1
set %a [ $+ c ] 2
set %a [ $+ d ] 3

echo ab = %ab
echo ac = %ac
echo ad = %ad

unset %a [ $+ b ] %a [ $+ c ] %a [ $+ d ]


/unsetall
Questo annulla e rimuove tutte le varibili dalla lista.

/inc [-cszuN] <%­var> [valore]

Questo incrementa il valore di %­var di [valore]

Se si specificano i parametri -uN, %­var sarà incrementata del valore specificato una volta e poi sarà annullata dopo N secondi, presumendo che non sarà settata di nuovo da un altro script.

Il parametro -c incrementa %­var 1 volta al secondo.

Il parametro -z decrementa %­var finchè non raggiunge zero, e poi la annulla.

/dec [-cszuN] <%­var> [valore]
Questo decrementa il valore di %­var di [valore]


Se si specificano i parametri -uN, %­var sarà incrementata del valore specificato una volta e poi sarà annullata dopo N secondi, presumendo che non sarà settata di nuovo da un altro script.

Il parametro -c decrementa %­var 1 volta al secondo.

Il parametro -z decrementa %­var finchè non raggiunge zero, e poi la annulla.


E' possibile utilizzare anche il segno di uguale per assegnare valori alle variabili:

%­i = 5

%­xyzi = 3.14159
%count = $1

E' anche possibile eseguire le seguenti operazioni sulle varibili quando si usa il segno di uguale:

%­x = 5 + 1
%­x = 5 - %­y
%­x = %­x * 2
%­x = %­z / $2
%­x = $1 % 3
%­x = 2 ^ %­w

E' possibile eseguire una sola operazione per volta.

Si può utilizzare l'identificatore $calc() che permette di eseguire calcoli complessi.

//echo 1 $calc(3.14159 * (2 ^ %­x % 3) - ($ticks / (10000 + 1)))

Si possono utilizzare inoltre anche gli identificatori $round(N,D) e $int(N) per maneggiare con precisione numeri che hanno decimali. Il numero dei decimali è attualmente limitato a 5 cifre.


Variabili Locali
Le variabili locali sono variabili che esistono solo per la durata della sessione di uso dello script, nella quale possono essere create e possono essere accessibili solo da dentro lo script. Per crearle si utilizza il comando /var:

/var %­x

Questo crea la varibile locale %­x nella routine corrente e può essere utilizzata solo in questa routine.

/var %­x = ciao

Questo crea la varibile locale %­x e gli assegna il valore ciao.


Si possono creare più variabili locali separandole con virgole:

/var %­x = ciao, %­y, %­z = $me

loop
var %­x = 1
:next
echo item %­x
inc %­x
if (%­x < 10) goto next


Nota: si può utilizzare /var -s per far si che la varibile mostri il risultato quando un valore viene impostato.

Identificatori

$var(%­var,N)
Ritorna nome della variabile combaciante numero N.

Proprietà: valore, locale

Si può utilizzare una wildcard come nome della variabile.


Se N = 0, ritorna il numero toale di nomi di variabili combacianti.

Nota: Questo cerca sia tra variabili locali che tra variabili globali.

Nessun commento:

Posta un commento