• Publicidad

Declaración de arrays

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Declaración de arrays

Notapor seafree » 2012-11-23 11:32 @522

Buenos días, les agradeceré me apoyen describiendo la siguiente instrucción:

my $labels = ["B","C","F","I","P","SE","M","TP","VC","VI"];

Si los arreglos son declarados con '@', entonces ¿cuál es su uso en la declaración anterior?
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: Declaración de arrays

Notapor explorer » 2012-11-23 12:39 @569

Esa línea está declarando $labels como una variable escalar (comienza por el sigilo '$'), así que solo va a almacenar un valor.

Y está definiendo el primer valor para esa variable: una referencia a un array anónimo (por la presencia de los corchetes).

Esa línea es una forma abreviada de escribir esto:

my @temporal = ( "B","C","F","I","P","SE","M","TP","VC","VI" );
my $labels = \@temporal;


solo que nos ahorramos el tener que crear una variable @temporal.

A partir de esa línea, podemos usar $labels como si fuera un array completo, pero atendiendo a la sintaxis:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. foreach my $label (@$labels) {      # recorremos todos los valores del array referenciado por $labels
  2.     print "$label\n";
  3. }
  4.  
  5. print $label->[2], "\n";            # imprimimos el tercer valor del array 'apuntado' por $labels
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Las referencias son básicas en Perl, para poder crear estructuras complejas de datos, y para pasar/recibir información a/desde subrutinas.

Más información en tu propio ordenador en perldoc perlref, y en la Web (traducido).
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 Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron