• Publicidad

Duda con arreglo

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Duda con arreglo

Notapor Stiven42 » 2013-10-17 09:56 @456

Hola, vengo a molestar de nuevo...

Lo que pasa es que tengo un arreglo estilo:

@nombres=('ANDRES','JAVIER','LUCIA');

Y lo que quiero es crear nuevos arreglos donde se almacenen las letras de una misma posición de todas los valores dentro del arreglo. Es decir que me queden arreglos:

@l1=('A','J','L');
@l2=('N','A','U');

y así sucesivamente...

Gracias por toda la ayuda que me puedan brindar.
Stiven42
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2013-10-10 12:47 @574

Publicidad

Re: Duda con arreglo

Notapor danimera » 2013-10-17 11:04 @502

Por un lado debes pasar array cada nombre

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @array1 = split(//, $nombres[0]);
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


y luego manualmente

push @l1,$array1[0];
push @l2,$array1[1];
push @l3,$array1[2];

bueno esto si lo quieres hacer manualmente
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Duda con arreglo

Notapor Stiven42 » 2013-10-17 11:16 @511

¿Hay alguna forma de hacerlo de manera automática?

Pues, ¿usando un bucle o algo así?
Stiven42
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2013-10-10 12:47 @574

Re: Duda con arreglo

Notapor danimera » 2013-10-17 11:50 @535

Claro que sí

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @nombres=('ANDRES','JAVIER','LUCIA');
  2.  
  3. foreach my $nombre(@nombres){
  4.  
  5.    my @array = split(//, $nombre);
  6.    for ($i=0;$i<= @array; $i++ ){
  7.      push $letras_nombre[$i], $array[$i];
  8.    }
  9. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Algo así sería, no probado. La idea es que tendrás un array donde cada índice tendrá las letras, algo así:

$letras[0] #AJL
$letras[1] #NAU

No probado, pero algo así.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Duda con arreglo

Notapor Stiven42 » 2013-10-17 12:40 @570

Muchas gracias... Pero por algún motivo el programa me dice que: Not an ARRAY reference at...
Stiven42
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2013-10-10 12:47 @574

Re: Duda con arreglo

Notapor danimera » 2013-10-17 13:40 @611

Stiven42 escribiste:Muchas gracias... Pero por algún motivo el programa me dice que: Not an ARRAY reference at...

¿Podrías indicar en qué línea?
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Duda con arreglo

Notapor Stiven42 » 2013-10-17 13:44 @614

En la línea 7... donde se usa la función push()
Stiven42
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2013-10-10 12:47 @574

Re: Duda con arreglo

Notapor danimera » 2013-10-17 14:13 @634

my Dios... Bueno, intenta algo así y me dices qué te sale.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @letras_nombre;
  2.  
  3. my @nombres=('ANDRES','JAVIER','LUCIA');
  4.  
  5. foreach my $nombre(@nombres){
  6.  
  7.    my @array = split(//, $nombre);
  8.    for (my $i=0;$i<= @array; $i++ ){
  9.         $letras_nombre[$i][0];
  10.         push $letras_nombre[$i], $array[$i];
  11.    }
  12. };
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Es una machetada pero, mira, a ver si te funciona.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Duda con arreglo

Notapor Stiven42 » 2013-10-17 14:22 @640

Me sale: ARRAY (0x46c1a8) y se repite y salen muchos números más.
Stiven42
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2013-10-10 12:47 @574

Re: Duda con arreglo

Notapor danimera » 2013-10-17 14:29 @645

Bueno, no puedo probar. Ando en el trabajo, pero, mira si te sale ARRAY (ox46c1a8). Seguro están haciendo un print al array, deberías hacer un print Dumper, pero por ahí vas ajustando tu código.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron