Perl/Applicare la teoria: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Diablo (discussione | contributi)
mNessun oggetto della modifica
sintassi codice colorata
Riga 3: Riga 3:
1) Creiamo un array con i giorni della settimana :
1) Creiamo un array con i giorni della settimana :


@g_sett = ( "lun" , "mar" , "mer" , "gio" , "ven" , "Sab" , "Dom" );
<source lang=perl> @g_sett = ( "lun" , "mar" , "mer" , "gio" , "ven" , "Sab" , "Dom" );</source>


2) Creiamo un Hash con la corrispondenza giorni della settimana , numero del giorno : ( lun = 1 , Dom = 7 )
2) Creiamo un Hash con la corrispondenza giorni della settimana , numero del giorno : ( lun = 1 , Dom = 7 )
<source lang=perl>

for ( $a = 0 ; $a < @g_sett ; $a++ )
for ( $a = 0 ; $a < @g_sett ; $a++ )
{
{
$giorno = $g_sett[$a];
$giorno = $g_sett[$a];
$g_sett_it{$giorno} = $a+1;
$g_sett_it{$giorno} = $a+1;
}</source>
}


oppure
oppure
<source lang=perl>

$a = 1;
$a = 1;
foreach $g ( @g_sett )
foreach $g ( @g_sett )
{
{
$g_sett_it{$g} = $a++;
$g_sett_it{$g} = $a++;
}</source>
}


3) Creiamo un Hash con la corrispondenza numero del giorno , giorni della settimana ( senza usare @g_sett .... )
3) Creiamo un Hash con la corrispondenza numero del giorno , giorni della settimana ( senza usare @g_sett .... )
<source lang=perl>

foreach $K ( keys %g_sett_it )
foreach $K ( keys %g_sett_it )
{
{
Riga 29: Riga 29:
$num_g_sett_it{$num} = $K;
$num_g_sett_it{$num} = $K;
}
}
</source>

4) Creiamo una stringa così formata "uno due tre quattro cinque sei sette"
4) Creiamo una stringa così formata "uno due tre quattro cinque sei sette"
<source lang=perl>

$str = "uno due tre quattro cinque sei sette ";
$str = "uno due tre quattro cinque sei sette ";
</source>

5) Dividiamo il contenuto il pezzi in modo da ottenere le parole separate:
5) Dividiamo il contenuto il pezzi in modo da ottenere le parole separate:
<source lang=perl>

@num_a_lettere = split ( " " , $str );
@num_a_lettere = split ( " " , $str );
</source>

6) Creiamo un altro hash dei giorni della settimana che abbia, al posto dei numeri, le stringhe che rappresentano i numeri:
6) Creiamo un altro hash dei giorni della settimana che abbia, al posto dei numeri, le stringhe che rappresentano i numeri:


NOTA : i giorni della settimana e i numeri sono "ordinati" e corrispondenti !
NOTA : i giorni della settimana e i numeri sono "ordinati" e corrispondenti !
<source lang=perl>

for ( $a = 0 ; $a < @g_sett ; $a++ )
for ( $a = 0 ; $a < @g_sett ; $a++ )
{
{
Riga 48: Riga 48:
$g_sett_lett_it{$giorno} = $num;
$g_sett_lett_it{$giorno} = $num;
}
}
</source>
7) Ora elenchiamo i giorni della settimana come nomegiorno , numero
7) Ora elenchiamo i giorni della settimana come nomegiorno , numero
<source lang=perl>
foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
{
{
print "giorno : $g , numero $g_sett_it{$g} \n";
print "giorno : $g , numero $g_sett_it{$g} \n";
}
}
</source>

8) Ora facciamo la stessa cosa ma con i numeri "letterali" :
8) Ora facciamo la stessa cosa ma con i numeri "letterali" :
<source lang=perl>

foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
{
{
print "giorno : $g , numero $g_sett_lett_it{$g} \n";
print "giorno : $g , numero $g_sett_lett_it{$g} \n";
}</source>
}


Se siete riusciti a seguire fino qui allora ... è ora di proseguire la lettura !
Se siete riusciti a seguire fino qui allora ... è ora di proseguire la lettura !

Versione delle 04:22, 28 giu 2007

Si è visto finora tante nozioni , vediamo "nel poco possibile" cosa si può fare:

1) Creiamo un array con i giorni della settimana :

 @g_sett = ( "lun" , "mar" , "mer" , "gio" , "ven" , "Sab" , "Dom" );

2) Creiamo un Hash con la corrispondenza giorni della settimana , numero del giorno : ( lun = 1 , Dom = 7 )

 for ( $a = 0 ; $a < @g_sett ; $a++ )
 {
     $giorno = $g_sett[$a];
     $g_sett_it{$giorno} = $a+1;
 }

oppure

 $a = 1;
 foreach $g ( @g_sett )
 {
    $g_sett_it{$g} = $a++;
 }

3) Creiamo un Hash con la corrispondenza numero del giorno , giorni della settimana ( senza usare @g_sett .... )

 foreach $K ( keys %g_sett_it )
 {
     $num = $g_sett_it{$K};
     
     $num_g_sett_it{$num} = $K;
 }

4) Creiamo una stringa così formata "uno due tre quattro cinque sei sette"

 $str = "uno due tre quattro cinque sei sette ";

5) Dividiamo il contenuto il pezzi in modo da ottenere le parole separate:

 @num_a_lettere = split ( " " , $str );

6) Creiamo un altro hash dei giorni della settimana che abbia, al posto dei numeri, le stringhe che rappresentano i numeri:

NOTA : i giorni della settimana e i numeri sono "ordinati" e corrispondenti !

 for ( $a = 0 ; $a < @g_sett ; $a++ )
 {
     $giorno = $g_sett[$a];
     $num = $num_a_lettere[$a];
     $g_sett_lett_it{$giorno} = $num;
 }

7) Ora elenchiamo i giorni della settimana come nomegiorno , numero

 foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
 {
     print "giorno : $g , numero $g_sett_it{$g} \n";
 }

8) Ora facciamo la stessa cosa ma con i numeri "letterali" :

 foreach $g ( @g_sett ) # Così sono ordinati da lun a Dom
 {
     print "giorno : $g , numero $g_sett_lett_it{$g} \n";
 }

Se siete riusciti a seguire fino qui allora ... è ora di proseguire la lettura !