Página 1 de 1

Imprimir en una tabla

NotaPublicado: 2009-07-28 07:20 @347
por leire_12
¡Hola! Tengo que hacer un programa en el idioma Perl que me imprima el resultado en un fichero de salida. El resultado tiene que ser una tabla de este tipo:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. POSICIONES INICIALES  POSICIONES FINALES  SECUENCIA ENCONTRADA 
  2. 3454456          5646436          agtctggat 
  3. 4545657          4654646          .   
  4. 5465757          67675677         . 
  5. .              .            . 
  6. .              .           .  
  7. .              .           . 


Tengo los resultados almacenados en tres arrays diferentes (el de las posiciones iniciales, el de las posiciones finales y el de las secuencias encontradas). ¿Cómo podría hacer para darle formato de tabla?

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 08:09 @381
por explorer
Bienvenida a los foros de Perl en Español, leire_12.

Presentar los datos de forma tabular es muy sencillo, pero antes nos tienes que decir cómo quieres separar las columnas. ¿Es un carácter tabulador? ¿O son espacios en blanco?

Tanto en uno como en otro caso lo puedes solventar con la ayuda de las funciones print() y printf().

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 08:19 @388
por leire_12
¡Da igual que sean espacios en blanco o tabuladores! Lo único que importa es que se diferencien las tres columnas. !Gracias!

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 09:16 @428
por explorer
Pues entonces es muy fácil:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
for my $i (0 .. $#array1) {
    print $array1[$i], "\t", $array2[$i], "\t", $array3[$i], "\n";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 09:22 @432
por leire_12
¿Me podrías explicar el significado de
for my $i (0 .. $#array1) y \t?
¡¡Muchas gracias!!

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 09:41 @445
por explorer
for my $i (0 .. $#array1)

"Para cada valor entre 0 y $#array1, guárdalo en $i".

$#array1 devuelve el índice del último elemento del arreglo @array1.

El efecto es recorrer todos los valores que toman los índices del arreglo @array1. Esto nos servirá para recoger todos sus valores.

Y \t es el símbolo del carácter tabulador.

Re: Imprimir en una tabla

NotaPublicado: 2009-07-28 13:21 @598
por leire_12
¡Muchas gracias! ¡Ya está solucionado! :D