Perl/Applicare la teoria: differenze tra le versioni
Nessun oggetto della modifica |
m Update syntaxhighlight tags - remove use of deprecated <source> tags |
||
Riga 4: | Riga 4: | ||
1) Creiamo un array con i giorni della settimana : |
1) Creiamo un array con i giorni della settimana : |
||
< |
<syntaxhighlight lang=perl> |
||
@g_sett = ( "lun" , "mar" , "mer" , "gio" , "ven" , "Sab" , "Dom" ); |
@g_sett = ( "lun" , "mar" , "mer" , "gio" , "ven" , "Sab" , "Dom" ); |
||
</syntaxhighlight> |
|||
</source> |
|||
oppure |
oppure |
||
< |
<syntaxhighlight lang=perl> |
||
@g_sett = qw( lun mar mer gio ven Sab Dom ); |
@g_sett = qw( lun mar mer gio ven Sab Dom ); |
||
</syntaxhighlight> |
|||
</source> |
|||
2) Creiamo un hash usando l'array @g_sett con la corrispondenza giorni della settimana e numero del giorno: ( lun = 1 , Dom = 7 ) |
2) Creiamo un hash usando l'array @g_sett con la corrispondenza giorni della settimana e numero del giorno: ( lun = 1 , Dom = 7 ) |
||
< |
<syntaxhighlight lang=perl> |
||
for ( $a = 0 ; $a < @g_sett ; $a++ ) |
for ( $a = 0 ; $a < @g_sett ; $a++ ) |
||
{ |
{ |
||
Riga 19: | Riga 19: | ||
$h_gs_ng{$giorno} = $a+1; |
$h_gs_ng{$giorno} = $a+1; |
||
} |
} |
||
</syntaxhighlight> |
|||
</source> |
|||
oppure |
oppure |
||
< |
<syntaxhighlight lang=perl> |
||
$a = 1; |
$a = 1; |
||
foreach $g ( @g_sett ) |
foreach $g ( @g_sett ) |
||
{ |
{ |
||
$h_gs_ng{$g} = $a++; |
$h_gs_ng{$g} = $a++; |
||
}</ |
}</syntaxhighlight> |
||
oppure |
oppure |
||
< |
<syntaxhighlight lang=perl> |
||
@h_gs_ng(@g_sett) = ( 1 .. 7 ); |
@h_gs_ng(@g_sett) = ( 1 .. 7 ); |
||
</syntaxhighlight> |
|||
</source> |
|||
3) Creiamo un Hash usando %h_gs_ng ma con i valori al posto delle chiavi e viceversa |
3) Creiamo un Hash usando %h_gs_ng ma con i valori al posto delle chiavi e viceversa |
||
< |
<syntaxhighlight lang=perl> |
||
foreach $K ( keys %h_gs_ng ) |
foreach $K ( keys %h_gs_ng ) |
||
{ |
{ |
||
Riga 40: | Riga 40: | ||
$h_ng_gs{$num} = $K; |
$h_ng_gs{$num} = $K; |
||
} |
} |
||
</syntaxhighlight> |
|||
</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" |
||
< |
<syntaxhighlight lang=perl> |
||
$str = "uno due tre quattro cinque sei sette "; |
$str = "uno due tre quattro cinque sei sette "; |
||
</syntaxhighlight> |
|||
</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: |
||
< |
<syntaxhighlight lang=perl> |
||
@num_a_lettere = split ( " " , $str ); |
@num_a_lettere = split ( " " , $str ); |
||
</syntaxhighlight> |
|||
</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 ! |
||
< |
<syntaxhighlight lang=perl> |
||
for ( $a = 0 ; $a < @g_sett ; $a++ ) |
for ( $a = 0 ; $a < @g_sett ; $a++ ) |
||
{ |
{ |
||
Riga 60: | Riga 60: | ||
$h_sett_lett_it{$giorno} = $num; |
$h_sett_lett_it{$giorno} = $num; |
||
} |
} |
||
</ |
</syntaxhighlight> |
||
7) Ora elenchiamo i giorni della settimana come nomegiorno , numero |
7) Ora elenchiamo i giorni della settimana come nomegiorno , numero |
||
< |
<syntaxhighlight 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 $h_sett_it{$g} \n"; |
print "giorno : $g , numero $h_sett_it{$g} \n"; |
||
} |
} |
||
</syntaxhighlight> |
|||
</source> |
|||
8) Ora facciamo la stessa cosa ma con i numeri "letterali" : |
8) Ora facciamo la stessa cosa ma con i numeri "letterali" : |
||
< |
<syntaxhighlight 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 $h_sett_lett_it{$g} \n"; |
print "giorno : $g , numero $h_sett_lett_it{$g} \n"; |
||
}</ |
}</syntaxhighlight> |
||
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 attuale delle 07:09, 19 apr 2020
Si sono viste 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" );
oppure
@g_sett = qw( lun mar mer gio ven Sab Dom );
2) Creiamo un hash usando l'array @g_sett con la corrispondenza giorni della settimana e numero del giorno: ( lun = 1 , Dom = 7 )
for ( $a = 0 ; $a < @g_sett ; $a++ )
{
$giorno = $g_sett[$a];
$h_gs_ng{$giorno} = $a+1;
}
oppure
$a = 1;
foreach $g ( @g_sett )
{
$h_gs_ng{$g} = $a++;
}
oppure
@h_gs_ng(@g_sett) = ( 1 .. 7 );
3) Creiamo un Hash usando %h_gs_ng ma con i valori al posto delle chiavi e viceversa
foreach $K ( keys %h_gs_ng )
{
$num = $g_sett_it{$K};
$h_ng_gs{$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];
$h_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 $h_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 $h_sett_lett_it{$g} \n";
}
Se siete riusciti a seguire fino qui allora ... è ora di proseguire la lettura !