Variables Perl
Las variables son datos almacenados en la memoria; crear una variable abre un espacio en la memoria.
El intérprete decidirá el espacio de almacenamiento en la memoria según el tipo de variable, por lo que puedes asignar diferentes tipos de datos a las variables, como enteros, flotantes, cadenas, etc.
En el capítulo anterior ya presentamos los tres tipos de datos básicos de Perl: escalares, arrays y hash.
- Los escalares comienzan con $, como $a $b, que son dos escalares.Los arrays comienzan con @, como @a @b, que son dos arrays.Los hash comienzan con %, %a y %b son dos hash.
Perl establece un espacio de nombres independiente para cada tipo de variable, por lo que diferentes tipos de variables pueden usar el mismo nombre sin preocuparse por conflictos. Por ejemplo, $foo y @foo son dos variables diferentes.
Crear variables
Las variables no necesitan declarar el tipo explícitamente; después de asignar la variable, el intérprete asigna automáticamente el espacio de tipo correspondiente.
Las variables se asignan usando el signo igual (=).
Podemos usar en el programause strictla declaración para que todas las variables deban declarar su tipo obligatoriamente.
El lado izquierdo del signo igual es la variable, el lado derecho es el valor. Ejemplo:
$age = 25; # 整型 $name = "ejemplo"; # 字符串 $salary = 1445.50; # 浮点数
En el código anterior, 25, "ejemplo" y 1445.50 se asignan respectivamente a$age, $namey$salarylas variables.
A continuación veremos el uso de arrays y hash.
Variables escalares
Un escalar es una unidad de datos única. Los datos pueden ser enteros, flotantes, caracteres, cadenas, párrafos, etc. En pocas palabras, puede ser cualquier cosa. A continuación se muestra una aplicación simple de escalares:
Ejemplo
El resultado de ejecución del programa anterior es:
Age = 25 Name = ejemplo Salary = 1445.5
Variables de array
Un array es una variable que se utiliza para almacenar una secuencia ordenada de valores escalares.
Los arrays comienzan con @.
Para acceder a una variable de array, puedes usar el signo de dólar ($) + nombre de variable, y especificar el índice para acceder. Ejemplo:
Ejemplo
El resultado de ejecución del programa anterior es:
$ages[0] = 25 $ages[1] = 30 $ages[2] = 40 $names[0] = google $names[1] = ejemplo $names[2] = taobao
En el programa usamos el carácter de escape (\) antes del signo $, para poder imprimir el carácter $.
Variables hash
Un hash es unkey/valueconjunto de pares.
Los hash comienzan con %.
Si quieres acceder a los valores de un hash, puedes usar$ + {key}el siguiente formato de acceso:
Ejemplo
El resultado de ejecución del programa anterior es:
$data{'google'} = 45
$data{'ejemplo'} = 30
$data{'taobao'} = 40
Contexto de variables
El llamado contexto se refiere a la posición en la que se encuentra la expresión.
El contexto está determinado por el tipo de variable en el lado izquierdo del signo igual. Si el lado izquierdo es un escalar, es contexto escalar; si el lado izquierdo es una lista, es contexto de lista.
El intérprete de Perl determina el tipo de variable según el contexto. Ejemplo:
Ejemplo
El resultado de ejecución del programa anterior es:
名字为 : google ejemplo taobao 名字数为 : 3
En el código, @names es un array, que se usó en dos contextos diferentes. En el primero se copió a otro array, por lo que generó todos los elementos del array. En el segundo asignamos el array a un escalar, y devolvió el número de elementos del array.
A continuación se enumeran varios contextos diferentes:
| N.º | Contexto y descripción |
|---|---|
| 1 | Escalar −
Asignación a una variable escalar; el lado derecho se evalúa en contexto escalar. |
| 2 | Lista −
Asignación a un array o hash; el lado derecho se evalúa en contexto de lista. |
| 3 | Booleano −
El contexto booleano es una evaluación simple de la expresión para comprobar si es verdadero o falso. |
| 4 | Void − Este contexto no necesita preocuparse por el valor que devuelve; generalmente no se necesita un valor de retorno. |
| 5 | Interpolación −
Este contexto solo ocurre dentro de comillas. |