ho appena cominciato a imparare Perl e mi sono ritrovato ostacolati dal risultato della seguente blocco di codice:Comportamento di 'foreach' in Perl
@x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
foreach (@x) {
$x = pop (@x) ;
$y = shift (@x);
print ("$x $y \n");
}
L'output è:
10 1
9 2
8 3
7 4
I mi aspettavo un'altra linea: 6 5
. Perché non c'è una tale linea? È perché dopo l'iterazione che stampa 7 4
, il numero di elementi rimasti nella matrice è uguale al numero di iterazioni già completate, e quindi per quanto riguarda Perl, il ciclo è finito?
Grazie nneonneo. La tua spiegazione di ciò che accade era esattamente ciò che dovevo capire. – verbose