• Publicidad

Formas de pasar array a variable

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

Formas de pasar array a variable

Notapor BigBear » 2013-03-08 19:43 @863

Hola. Quería preguntar qué formas habría de pasar un array a una variable normal. He visto formas que se hacen con join() pero quería saber si alguien conoce otras.

¿ Alguien conoce otra ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Formas de pasar array a variable

Notapor explorer » 2013-03-08 20:00 @875

Precisión: una variable array ya es una variable. Lo que estás preguntando es cómo desplegar la lista de elementos que contiene un array en una variable escalar.

Efectivamente, una forma de hacerlo es con join(), pero hay más. Dado

my @array = qw(super cali fragi listico espila diloso); # Mary Poppins song

y suponemos que queremos pasarlo a un escalar, con todos los elementos unidos directamente, se puede hacer de estas maneras:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. # 1
  2. $var = join '', @array;     # clásico, y recomendado, porque se ve claro lo que queremos hacer
  3.  
  4. # 2
  5. $" = '';                    # esta variable especial indica el delimitador a usar en la interpolación de array
  6. $var = "@array";            # array interpolado (comillas dobles)
  7.  
  8. # 3
  9. $var = "@array";            # interpolación normal (se supone que $" contiene un espacio en blanco)
  10. $var =~ s/ //g;             # y aquí quitamos los espacios sobrantes
  11.  
  12. # 4
  13. for (@array) {              # ¡aaagggg!
  14.     $var .= $_;
  15. }
  16.  
  17. # 5
  18. $var .= $_ for @array;      # ¡ouch!
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

Seguro que hay más formas...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

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