Una matriz Perl es una variable de lista que almacena valores escalares. Las variables pueden ser de diferentes tipos.
Las variables de matriz comienzan con @. Para acceder a los elementos de la matriz, use el formato $ + nombre de variable + [valor de índice] para leer.
En el programa, el símbolo $ se escapa con , lo que permite generarlo tal como está.
$ hits [0] = 25 $ hits [1] = 30 $ hits [2] = 40 $ nombres [0] = google $ nombres [1] = codercto $ nombres [2] = taobao
Las variables de matriz comienzan con el símbolo @ y los elementos se colocan entre corchetes. También puede definir una matriz que comience con qw .
@array = (1, 2, 'Hola');@array = qw/Esta es una matriz/;
La segunda matriz utiliza el operador qw// , que devuelve una lista de cadenas con elementos de la matriz separados por espacios. Por supuesto, también puedes usar varias líneas para definir una matriz:
@days = qw/googletaobao...codercto/;
También puedes asignar valores a una matriz por índice, de la siguiente manera:
$array[0] = 'Lunes';...$array[6] = 'Domingo';
Para acceder a los elementos de la matriz, use el formato $ + nombre de variable + [valor de índice] para leer. El ejemplo es el siguiente:
googletaobaocoderctocodercto
Los valores del índice de matriz comienzan desde 0, es decir, 0 es el primer elemento, 1 es el segundo elemento, y así sucesivamente.
Los números negativos se leen en dirección inversa, -1 es el primer elemento, -2 es el segundo elemento
Perl proporciona un formato de matriz que se puede generar en secuencia. El formato es valor inicial + .. + valor final .
1 2 3 4 5 6 7 8 9 1010 11 12 13 14 15 16 17 18 19 20a bcdefghijklmnopqrstuv wxyz
El tamaño de la matriz está determinado por el contexto escalar dentro de la matriz. :
@array = (1,2,3);imprimir "tamaño de matriz:", escalar @array,"n";
La longitud de la matriz devuelve el tamaño físico de la matriz, no el número de elementos. Podemos ver el siguiente ejemplo:
Tamaño de matriz: 51 Índice máximo: 50
Como se puede ver en el resultado, solo hay cuatro elementos de la matriz, pero el tamaño de la matriz es 51.
Perl proporciona algunas funciones útiles para agregar y eliminar elementos de una matriz.
Si no tiene experiencia en programación antes, puede preguntar qué es una función. De hecho, la impresión que usamos antes es una función de salida.
La siguiente tabla enumera las funciones de operación comúnmente utilizadas en matrices:
número de serie | Tipo y descripción |
---|---|
1 | presione @ARRAY, LISTA Pon el valor de la lista al final del array. |
2 | pop @ARRAY Extraiga el último valor de la matriz y devuélvalo |
3 | cambio @ARRAY Muestra el primer valor de la matriz y lo devuelve. El valor del índice de la matriz también se reduce en uno. |
4 | deshacer @ARRAY, LISTA Coloca la lista delante de la matriz y devuelve el número de elementos de la nueva matriz. |
Podemos cortar una matriz y devolver la nueva matriz después del corte:
weibo qq facebook
El índice de matriz debe especificar un valor de índice válido, que puede ser un número positivo seguido de un número negativo. Cada valor de índice está separado por una coma.
Si es un índice continuo, puede usar .. para indicar el rango especificado:
weibo qq facebook
La función splice() se utiliza para reemplazar elementos de matriz en Perl. El formato de sintaxis es el siguiente:
empalme @ARRAY, DESPLAZAMIENTO [ , LONGITUD [ , LISTA ] ]
Descripción del parámetro:
@ARRAY: Matriz que se va a reemplazar.
OFFSET: posición inicial.
LONGITUD: El número de elementos a reemplazar.
LISTA: Listado de elementos de reposición.
El siguiente ejemplo reemplaza 5 elementos en una matriz a partir del sexto elemento:
Antes del reemplazo - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Después del reemplazo - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20
Para convertir una cadena en una matriz en Perl, use la función split(). La sintaxis es la siguiente:
dividir [ PATRÓN [ , EXPR [ , LÍMITE ] ] ]
Descripción del parámetro:
PATRÓN: delimitador, el valor predeterminado es espacio.
EXPR: especifique el número de cadenas.
LÍMITE: Si se especifica este parámetro, se devuelve el número de elementos de la matriz.
ocomweibo
En Perl, la función join() se utiliza para convertir una matriz en una cadena. La sintaxis es la siguiente:
unirse a EXPR, LISTA
Descripción del parámetro:
EXPR: Conector.
LISTA: Lista o matriz.
www-codercto-comgoogle,taobao,codercto,weibo
La clasificación de matrices en Perl utiliza la función sort() y la sintaxis es la siguiente:
ordenar [SUBRUTINA] LISTA
Descripción del parámetro:
SUBRUTINA: Especifica reglas.
LISTA: Lista o matriz.
Antes de ordenar: google taobao codercto facebook Después de ordenar: facebook google codercto taobao
Nota: La clasificación de matrices se basa en valores numéricos ASCII. Entonces, cuando ordenamos la matriz, es mejor convertir cada elemento a minúsculas antes de ordenar.
La variable especial $[ representa el primer valor de índice de la matriz, que generalmente es 0. Si configuramos $[ en 1, el primer valor de índice de la matriz es 1, el segundo es 2, y así sucesivamente. Los ejemplos son los siguientes:
Sitio web: google taobao codercto facebook@sites[1]: google@sites[2]: taobao
En general, no recomendamos utilizar la variable especial $[ . En la nueva versión de Perl, esta variable se ha abandonado.
Los elementos de la matriz están separados por comas. También podemos usar comas para fusionar matrices, como se muestra a continuación:
números = 1 3 4 5 6
También es posible incrustar múltiples matrices dentro de una matriz y fusionarlas en la matriz principal:
números = 1 3 5 2 4 6
Se puede utilizar una lista como una matriz. Al especificar el valor del índice después de que la lista pueda leer el elemento especificado, como se muestra a continuación:
El valor de var es = 1
De manera similar, podemos usar .. en una matriz para leer elementos en un rango específico:
valor de la lista = 4 3 2