Introducción
En Perl, las llamadas a funciones , los términos y las declaraciones tienen explicaciones inconsistentes que se basan en su Contexto. Hay dos contextos cruciales en Perl, a saber, contexto de lista y contexto escalar. En un contexto de lista, Perl proporciona la lista de elementos. Pero en un contexto escalar, devuelve la cantidad de elementos en la array.
Perl presupone valores de lista en «Contexto de lista», donde la lista puede tener cualquier número de elementos o puede tener solo un elemento o incluso puede estar desolada.
El contexto de la lista se puede generar con el uso de arrays y listas.
- Asignación a una array:
Ejemplo:@y = LIST;
@y = @z;
@y = localtime();
Aquí, localtime() es un nombre de función en Perl, que revela una representación numérica del tiempo en una array.
- Asignación a una lista:
Ejemplo:($x, $y) = LIST;
($x) = LIST;
Aquí, List puede además crear List Context incluso si List tiene solo un elemento.
Ejemplo:
#!/usr/bin/perl # Perl program of creating List Context # array of elements my @CS = ('geeks', 'for', 'geeks', 'articles'); # Assignment to a list my ($x, $y) = @CS; # Assignment to an Array my @z = @CS; # Assignment of a function # to an Array my @t = localtime(); # Displays two elements of an # array in List print "$x $y\n"; # Displays an array of elements print "@z\n"; # Displays time stored in array # in number format print @t;
geeks for geeks for geeks articles 201761121191690
Aquí, en la asignación a la Lista, hay dos escalares en la Lista, es decir, $x y $y, por lo que solo se asignan dos elementos de la array.
Para provocar el contexto de la lista usando una array, debemos asignar una array a otra array.
Ejemplo:
#!/usr/bin/perl # Program for arrays in List Context use strict; use warnings; use 5.010; my @x = ('computer_', 'science_', 'portal_', 'for_', 'GeeksforGeeks'); # Assignment of an array to # another array my @y = @x; # Printing the new array print @y;
computer_science_portal_for_GeeksforGeeks
Aquí, los elementos de una array se copian en otra array.
if-statement se usa en un contexto de lista para mostrar las declaraciones encerradas dentro de ‘if’ solo cuando hay elementos presentes en la array.
Ejemplo:
#!/usr/bin/perl # Program to display content of if-statement use strict; use warnings; use 5.010; my @x = ('G', 'f', 'G'); # Statement within 'if' will be executed # only if the array is not empty if (@x) { print "GeeksforGeeks"; }
GeeksforGeeks
Aquí, si la array indicada tiene una cierta cantidad de elementos, entonces la condición if es verdadera y provoca el contenido de la declaración if, pero si la array está vacía, la condición if es falsa, por lo que no ejecuta las declaraciones dentro de if. declaración.
«STDIN» es un operador de línea de lectura en Perl. Para colocar el operador de línea de lectura en el contexto de la lista, se requiere designar este operador a una array.
Ejemplo:
#!/usr/bin/perl use strict; use 5.010; # Asking user to provide input print "Enter the list of names:\n"; # Getting input from user my @y = <STDIN>; # Used to remove extra line of spaces chomp @y; # Printing the required output print "The number of names are: " . scalar(@y) . "\n";
Así es como funciona este programa:
Paso 1: Ingrese los nombres que se almacenarán en la array uno por uno con el uso de la tecla Intro.
Paso 2: presione Ctrl-D en los sistemas Linux mientras que Ctrl-Z en el sistema Windows para indicar el final de la entrada.
Paso 3: chomp se usa para eliminar la línea adicional agregada después de cada entrada.
Paso 4: Imprimir la cantidad de elementos en la array con el uso de escalar porque «una array en contexto escalar» solo puede devolver la longitud de una array.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA