-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[49] Come tratto/modifico ciascun elemento di un array?

Usate for/foreach:

    for (@linee) {
		s/pippo/pluto/;     # cambia quella parola
		y/XZ/XZ/;           # scambia quelle lettere
    }

Ecco un altro metodo; calcoliamo i volumi sferici:

    for (@volumi = @raggi) {    # @volumi ha parti cambiate
		$_ **= 3;
		$_ *= (4/3) * 3.14159;  # questo calcolo diventera` una costante
    }

che può essere fatto anche con map() che è fatto apposta per trasformare una lista in un'altra:

	@volumi = map {$_ **3 * (4/3) * 3.14159 } @raggi;

Se volete fare la stessa cosa per modificare i valori di un hash, potete servirvi della funzione values. Con Perl 5.6 i valori non vengono copiati, quindi se modificate $orbita (in questo caso), modificate il valore.

    for $orbita ( values %orbite ) {
		($orbita **= 3) *= (4/3) * 3.14159;
    }

Prima di perl 5.6 values restituiva copie dei valori, dunque il codice perl più vecchio spesso contiene costruzioni come @orbite{keys %orbite} al posto di values %orbite quando l'hash deve essere modificato.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google