[bcn-pm] script_Perl_Array_index_comparison

Richard Foley richard.foley a rfi.net
dll maig 27 08:35:26 PDT 2019


bienvenuto Alessandra,

perl usa "hashes" mucho por problemas.

foreach $val (@A) {
    $losA{$val}++;
}

Luego dice:

    $losB{$val} is missing unless $losA{$val}.

        y

    $val was detected $losA{$val} times.

etc. Quizas esta una pequena ayudar?

--
Ciao

Richard Foley

https://www.rfi.net/

On Mon, May 27, 2019 at 04:44:46PM +0200, alessandra.borgognone a unavarra.es wrote:
> Hola a tod a s,
> 
> Me llamo Alessandra y empecé hace poco un curso online de programación en
> Perl.
> Me gustaría poder participar a las próximas reuniones de Barcelona Perl
> Mongers para poder charlar con vosotr a s.
> 
> Necesitaría terminar pronto un código y quería pedir un ayuda sobre la
> siguiente cuestión:
> 
> Teniendo 2 arrays:
> @A = ("Red", "Green", "Yellow");
> @B = ("Yellow", "Black","Yellow","Red", "White", "Yellow");
> 
> En array A, cada elemento está representado 1 vez.
> En array B, cada elemento puede ocurrir zero, una o más veces.
> 
> Estoy intentado combinar unos comandos que para cada elemento en A saquen
> el valor de su posición en B, generando un output como el siguiente:
> 
> > Red at index 3
> > Green is missing
> > Yellow at index 0, 2 and 5
> > Elements from B were detected 4 times in A
> 
> Intenté con el siguiente código pero no consigo entender como comparar los
> elementos entre los dos arrays y determinar las posiciones
> foreach $x (@A){
>     foreach $y (@B){
>     if ($y eq $x){
>     print "$y\n";
> 	}
> 	elsif ($x ne$y){
>     print "$x";
> 	}
>   }
> }
> 
> Alguna idea? Muchísimas gracias por vuestra ayuda y hasta pronto!
> _______________________________________________
> llista dels Barcelona-pm
> Barcelona-pm a pm.org
> https://mail.pm.org/mailman/listinfo/barcelona-pm
> BCN Perl Mongers: http://barcelona.pm.org


Més informació sobre la llista de correu Barcelona-pm