Creare funzioni personalizzate

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).
Potremmo per esempio visualizzare i parametri passati ad una funzione attraverso una sintassi simile alla seguente:
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.
Vediamo un esempio:
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.

Stampa :: Torna alla Home