Perl/Variabili hash: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo e modifiche minori
 
Riga 2:
 
Gli array associativi o hash si possono immaginare come dei vettori che hanno i vagoni individuati da "un nome", piuttosto che da un numero.
Analogamente agli array, quindi, rappresentano un insieme di scalari; a differenza dei vettori, in cui nel treno le carrozze sono numerate, negli hash, per identificare un' informazione, si usa un "nome".
Non esiste però alcun modo di legare l'ordine di immissione dei dati e il loro successivo recupero. L'unica garanzia è che ogni "nome" assegnato al un vagone (chiave-key) corrisponde uno ed un unico valore (valore-value).
 
Riga 65:
entrambe queste funzioni ritornano un array composto di tutte le informazioni richieste di %a (key o value).
 
Vediamo ora un' istruzione che, ogni volta che viene invocata, ritorna un elemento dell'array associativo:
 
($key, $value) = each %a;
Riga 71:
Vediamo questo esempio:
 
 
%contact = ( mario => '0220202020'
, pippo => '0330303030'
Riga 99:
, giancarlo => 'giancarla'
, carmelo => 'carmela');
 
print (exists $a{mario})." , ".(exists $a{beppe})."\n";
 
Riga 111:
, giancarlo => 'giancarla'
, carmelo => 'carmela');
 
 
$b = delete ( $a{mario} );
print "b=$b , %a:".join(" , " ,(keys %a))."\n";
Riga 120:
b=maria , %a:giancarlo , carmelo
 
=== Notazione { x , y , z } ===
Come per i vettori, anche per gli hash esiste una notazione che consente di trattare più informazioni su uno stesso hash.
 
%lettere = ( a => 'A', b => 'B' , c => 'C' , d => 'D' );
 
@lettere{ e , f , g } = ( 'E' , 'F' , 'G' );
 
print "lettere di e :$lettere{e}\n";
 
Riga 173:
 
$meseDaScrivere = 3;
 
print "il mese ". $meseDaScrivere # numero del mese
." ha il nome: ". $h{$meseDaScrivere} # nome del mese