Perl/Variabili vettori: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 90:
 
in @alfabeto ci saranno tutte le lettere dalla A alla Z
 
in giorni del mese ci saranno tutti i numeri da 01 a 31 (compreso 05, 11 , 21 etc)
 
in @ACD contiene ( 'A' , 'C' , 'D' );
 
in @s contiene ( undef , undef , 'PIPPO' , 'pluto' , undef , 'CIAO' )
 
in @k contiene ( 'mario' , 'giuseppe' )
 
 
 
ecco che inizia a delinearsi la possibilità di utilizzare in modo flessibile le informazioni senza dover utilizzare dei "cicli" per inserire dei valori.
 
===push , pop , shift , unshift===
 
Queste funzioni consentono l'inserimento di valori in un array.
Push e pop lavorano sulla "coda del treno" mentre shift e unshift lavorano sulla "testa".
 
@a = ( 2 , 3, 4, 5 );
push ( @a , 6 , 7 ); #ora @a contiene ( 2 , 3, 4, 5 , 6 , 7 )
$b = pop (@a); # $b = 7 , @a contiene ( 2 , 3, 4, 5 , 6 )
$c = shift ( @a ); # $c = 2 , @a contiene ( 3, 4, 5 , 6 )
unshift( @a , 0 , 1, 2); # ora @a contiene ( 0 , 1, 2 , 3, 4, 5 , 6 )
 
===join e split===
Queste due funzioni consentono:
* di aggregare array in stringhe (join)
* di separare una stringa in array
In particolare join "unisce" i valori dell'array mettendo fra loro la stringa indicata dall'utente:
@a = ( 1 , 2, 3 );
print join("_" , @a); # scrive 1_2_3
print "\n";
 
'''NOTA''': se l'array passato non ha elementi torna una stringa vuota.
 
Per split il discorso è più articolato in quanto come elemento separatore accetta una espressione regolare che al momento è prematuro introdurre.Semplificando si può dire che accetta una stringa che risulta essere il separatore.
Limitando l'esempio a strighe statiche :
 
@a = split ( " " , "questo testo verrà diviso in ogni parola" );
print @a."\n";
 
quindi in @a avremo ( "questo" , "testo" , "verrà" , "diviso" , "in" , "ogni" , "parola" )
per fare l'operazione contraria basterà scrivere:
$a = join( " " , @a );
[[Categoria:Linguaggio Perl|Le variabili:vettori]]