28/12/2005
Le
funzioni sono dei costrutti sintattici utili per produrre
specifici comportamenti. Esistono principalmente due
tipologie di
funzioni: quelle native messe a disposizione dal linguaggio stesso,
quelle
personalizzate che vengono definite dallo sviluppatore in
sede di scrittura del codice.
Le
funzioni native messe a disposizione da Perl sono numerosissime e
producono i comportamenti più disparati: vi sono
funzioni per effettuare
operazioni aritmetiche, per convertire tipi di dato, per manipolare
stringhe, file,
directory ed array etc. Non sarebbe possibile
proporle tutte in questa sede, quindi consigliamo di consultare
il manuale ufficiale di
Perl e di sfruttare questa
documentazione gratuità ogni volta che avremo
bisogno di ricercare una determinata funzione per produrre un
certo
comportamento.
In questo capitolo, affronteremo invece il discorso riguardante le
funzioni
personalizzate, la cui sintassi per il Perl dovrà essere
improntata sul modello della seguente:
sub funzione_personalizzata { print "Istruzione 1n"; print "Istruzione 2n"; }Una funzione agisce sulla base di parametri (argomenti passati alla funzione), quando viene "richiamata". Per effettuare una chiamata dovremo porre una "&" davanti al nome effettivo della funzione:
# Chiamata semplice &funzione_personalizzata; # Chiamata con un solo parametro &funzione_personalizzata ($_); # Chiamata con più parametri &funzione_personalizzata ($_1, $_2, ...);Nel momento in cui una funzione viene richiamata, ciascun parametro viene passato come fosse una array all'interno della variabile speciale @_ che non ha alcuna relazione con la variabile $_ che è una variabile di default utilizzata per le operazioni di input e di pattern matching (ricerche all'interno di stringhe).
sub view_array { print "@_n"; } &view_array("valore_1", "valore_2", "valore_n"); &view_array("valore_3", "valore_4", "valore_n2");Il discorso sulle funzioni ci porta ad affrontare quello strettamente correlato dei valori di ritorno che in una funzione sono sempre l'ultimo elemento sottoposto a valutazione.
sub min { if ($_[0] < $_[n]) { $_[0]; } else { $_[n]; } } $min = &min(7, 3);Nello specifico, la funzione appena proposta restituisce il minore dei due parametri valutati.
© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.