02-01-2008, 06:38 PM
Dopo avervi illustrato cosa sono gli aliases, i popups ed i remote; passiamo ad illustrare la sintassi di: if, then ed else.
Usando i comandi: if,then ed else possiamo far eseguire una parte o una piccola parte dello script solo se e' determinata una condizione.
Ecco un piccolo esempio della configurazioene di: if, then ed else:
if (v1 operatore v2) { qui' inserire i vari comandi }
elseif (v1 operatore v2) { qui' inserire i vari comandi }
else { qui' inserire i vari comandi }
Ma non vi siete posti la domanda a cosa servano le parentesi tonde "()" e quelle graffe "{}"?
Bhe' se non sapete a cosa servono, ora ve lo spiego:
le parentesi () (tonde) permettono di includere paragoni (es. v1 operatore v2), invece le parentesi {} (graffe) permettono di includere la condizione che risultera' vera attraverso la stesura di vari comandi, quindi in poche parole i comandi che inserirete in queste parentesi, sono i comandi che permettono di eseguire quella condizione finche' non sara' vera.
Ecco i vari operatori:
== uguale a
=== uguale a (ricordatevi di usare le maiuscole e le minuscole, in quanto e' presente il case sensitive)
!= non uguale a
< minore di
> maggiore di
>= maggiore uguale a
<= minore uguale a
// multiplo di
\\ non รจ multiplo di
Spiegazione delle Condizioni:
isin: la linea v1 e' inoltrata nella linea v2
isincs: le linea v1 e' inoltrata nella linea v2, pero' con l'aggiunta del "case sensitive"
iswm: la linea jolly v1 corrisponde alla linea v2
isnum: il numero v1 fa parte dell'intervallo v2 che e' strutturato n1-n2 (in questo caso v2 e' opzionale)
isletter: la lettera v1 e' inoltrata nelle lettere di v2
isalnum: con questa condizione si dichiara che il nick e' formato da lettere e numeri
isalpha: con questa condizione si dichiara che il nick e' formato da sole lettere
ison: questa condizione dichiara che il nick e' presente nel canale specificato
isop: questa condizione dichiara che il nick ha il +o (operatore) nel canale specificato
ishop: questa condizione dichiara che il nick ha il +h (halfoperatore) nel canale specificato
isvoice: questa condizione dichiara che il nick ha il +v (voice) nel canale specificato
isreg: questa condizione dichiara che il nick e' un utente normale nel canale specificato
ischan: questa condizione di chiara che siamo in tal canale
isaop: questa condizione dichiara che il nick e' aop (auto-operator) nel canale specificato
isavoice: questa condizione dichiara che il nick e' avoice (auto-voice) nel canale specificato
isignore: questa condizione dichiara che il nick e' presente nella lista ignore
isprotect: questa condizione dichiara che il nick e' presente nella protect list (&)
isnotify: questa condizione dichiara che il nick e' presente nella notify-list
Se volessimo negare queste condizioni basta aggiungere "!"
Esempio: !isop = il contratio di quanto spiegato sopra.
Passiamo a spiegare cos'e' l'identificatore $ifmatch.
Questo identificatore ($ifmatch) fa si che venga restituito il primo parametro che viene espresso nella condizione (es: if (ero isin Pippo) {...} quindi in questo caso l'identificatore $ifmatch restituira' "ero".
Se volessimo aggiungere piu' condizioni si potrebbe usare && = "e" o anche || = "o".
Ecco un piccolo esempio:
numero {
if ($1 >5) & ($1 < 20)) {
if ($1 <15) echo il numero e' piu' piccolo di 15
else il numero e' piu' grande di 15
}
else Sono un rimbambito e non sono a conoscenza di questo numero mi dispiace!!
}
Come abbiamo gia' detto il "!" messo davanti a variabili if-then-else, indica che questi non hanno nessun valore.
Quindi se scrivessimo
if (%x == $null) echo questa variabile non ha valore
oppure
if (!%x) echo questa variabile non ha valore
E' la stessissima cosa!!! :D
Ora propongo qualche esempio:
listaop {
echo 4 * Lista op del chan #
set %i !
:next
set %nick $nick (#,%i)
if%nick ==$null goto done
if%nick isop # echo 3 %nick e' un op!
inc %i
goto next
:done
echo 4 * Lista op terminata
}
Questo e' solo un esempio sta a voi modificarlo :D
Con questo ho terminato spero di essere stato chiaro. ;)
Usando i comandi: if,then ed else possiamo far eseguire una parte o una piccola parte dello script solo se e' determinata una condizione.
Ecco un piccolo esempio della configurazioene di: if, then ed else:
if (v1 operatore v2) { qui' inserire i vari comandi }
elseif (v1 operatore v2) { qui' inserire i vari comandi }
else { qui' inserire i vari comandi }
Ma non vi siete posti la domanda a cosa servano le parentesi tonde "()" e quelle graffe "{}"?
Bhe' se non sapete a cosa servono, ora ve lo spiego:
le parentesi () (tonde) permettono di includere paragoni (es. v1 operatore v2), invece le parentesi {} (graffe) permettono di includere la condizione che risultera' vera attraverso la stesura di vari comandi, quindi in poche parole i comandi che inserirete in queste parentesi, sono i comandi che permettono di eseguire quella condizione finche' non sara' vera.
Ecco i vari operatori:
== uguale a
=== uguale a (ricordatevi di usare le maiuscole e le minuscole, in quanto e' presente il case sensitive)
!= non uguale a
< minore di
> maggiore di
>= maggiore uguale a
<= minore uguale a
// multiplo di
\\ non รจ multiplo di
Spiegazione delle Condizioni:
isin: la linea v1 e' inoltrata nella linea v2
isincs: le linea v1 e' inoltrata nella linea v2, pero' con l'aggiunta del "case sensitive"
iswm: la linea jolly v1 corrisponde alla linea v2
isnum: il numero v1 fa parte dell'intervallo v2 che e' strutturato n1-n2 (in questo caso v2 e' opzionale)
isletter: la lettera v1 e' inoltrata nelle lettere di v2
isalnum: con questa condizione si dichiara che il nick e' formato da lettere e numeri
isalpha: con questa condizione si dichiara che il nick e' formato da sole lettere
ison: questa condizione dichiara che il nick e' presente nel canale specificato
isop: questa condizione dichiara che il nick ha il +o (operatore) nel canale specificato
ishop: questa condizione dichiara che il nick ha il +h (halfoperatore) nel canale specificato
isvoice: questa condizione dichiara che il nick ha il +v (voice) nel canale specificato
isreg: questa condizione dichiara che il nick e' un utente normale nel canale specificato
ischan: questa condizione di chiara che siamo in tal canale
isaop: questa condizione dichiara che il nick e' aop (auto-operator) nel canale specificato
isavoice: questa condizione dichiara che il nick e' avoice (auto-voice) nel canale specificato
isignore: questa condizione dichiara che il nick e' presente nella lista ignore
isprotect: questa condizione dichiara che il nick e' presente nella protect list (&)
isnotify: questa condizione dichiara che il nick e' presente nella notify-list
Se volessimo negare queste condizioni basta aggiungere "!"
Esempio: !isop = il contratio di quanto spiegato sopra.
Passiamo a spiegare cos'e' l'identificatore $ifmatch.
Questo identificatore ($ifmatch) fa si che venga restituito il primo parametro che viene espresso nella condizione (es: if (ero isin Pippo) {...} quindi in questo caso l'identificatore $ifmatch restituira' "ero".
Se volessimo aggiungere piu' condizioni si potrebbe usare && = "e" o anche || = "o".
Ecco un piccolo esempio:
numero {
if ($1 >5) & ($1 < 20)) {
if ($1 <15) echo il numero e' piu' piccolo di 15
else il numero e' piu' grande di 15
}
else Sono un rimbambito e non sono a conoscenza di questo numero mi dispiace!!
}
Come abbiamo gia' detto il "!" messo davanti a variabili if-then-else, indica che questi non hanno nessun valore.
Quindi se scrivessimo
if (%x == $null) echo questa variabile non ha valore
oppure
if (!%x) echo questa variabile non ha valore
E' la stessissima cosa!!! :D
Ora propongo qualche esempio:
listaop {
echo 4 * Lista op del chan #
set %i !
:next
set %nick $nick (#,%i)
if%nick ==$null goto done
if%nick isop # echo 3 %nick e' un op!
inc %i
goto next
:done
echo 4 * Lista op terminata
}
Questo e' solo un esempio sta a voi modificarlo :D
Con questo ho terminato spero di essere stato chiaro. ;)