Puis-je faire quelque chose comme ce qui suit dans Perl?
5 Réponses :
pas avec un Vous pouvez également utiliser quelque chose comme foreach code> boucle. Vous pouvez utiliser un
de style C pour code> boucle:
Doit utiliser un pour code> boucle? Copiez l'original et 'consommez-le' avec
shift code>
: < Pré> xxx pré> p>
Joli. Dans mon cas, détruire l'original n'est même pas un problème, je peux donc faire sans la copie.
commençant par Perl 5.12, chacun est maintenant plus flexible En travaillant également sur des tableaux: une réserve avec pour par exemple : p>
p> chacun code>
, rappelez-vous que l'itérateur est global et n'est pas réinitialisé si vous sortez d'une boucle. P> keys @tokens; # resets iterator
($i, $val) = each @tokens;
say "Now at => $val ($i)"; # Now at => a (0)
Whoa! Je ne savais pas - cela viendra utile. Merci :)
J'aime la réponse à Zays, mais elle échoue s'il rencontre un élément nul dans le tableau
Donc ... Ceci ne s'arrêtera pas avant que @array code> est vide. p> p>
my $arr = [0..9]; foreach ( 1 .. scalar @{$arr} ) { my $curr = shift @{$arr}; my $next = shift @{$arr}; unshift @{$arr} , $next; print "CURRENT :: $curr :: NEXT :: $next \n"; }
Meilleure solution ici.