sentencia programas contador perl variables

contador - programas en perl



¿Por qué las variables de Perl deben comenzar con $,%, @(sigils)? (6)

Cuando empecé a usar Perl, me explicaron que estos personajes fueron elegidos porque:

  • $ parecía un poco a ''s'', así que era para s calars,
  • @ tiene una ''a'' en el medio, así que eso fue para un roce, y
  • % fue para hash porque parecía un par clave-valor dividido por una barra diagonal.

¿Por qué las variables de Perl deben comenzar con diferentes caracteres (sigilos)?

  • Las variables escalares comienzan con $

  • Hashes comienzan con %

  • Las matrices comienzan con @

¿Por qué son así?


Esto es porque Perl usa sigils :

En la programación de computadoras, un sigilo (pronunciado /''sɪdʒ.ɪl/ o /''sɪg.ɪl/; plural sigilia o sigils) es un símbolo adjunto a un nombre de variable, que muestra el tipo de datos o el alcance de la variable. El término se aplicó por primera vez al uso de Perl por Philip Gwyn en 1999 para reemplazar el "personaje divertido delante de un nombre de variable" más engorroso. El nombre se basa en la palabra que significa un símbolo mágico (ver sigil (magia)).


No todos lo hacen, algunos comienzan con% (hash) o con @ (arrays).

Es una decisión de diseño marcarlos como variables y también denotar su tipo.

Tenga en cuenta que puede tener tanto un $abc como un %abc .

Vea un tutorial sobre las variables de Perl .


Varias razones son explained por Larry Wall et al en "Programming Perl":

Dentro de cualquier espacio de nombres [...] dado, cada tipo de variable tiene su propio espacio de nombres secundario, determinado por el personaje divertido. Puede, sin temor a conflicto, usar el mismo nombre para una variable escalar, una matriz o un hash (o, para el caso, una maneta de archivo, un asunto de subrutina, una etiqueta o su llama de mascota).

[...]

Al igual que la mayoría de los lenguajes de programación, Perl tiene una lista de palabras reservadas que reconoce como palabras clave especiales. Sin embargo, dado que los nombres de las variables siempre comienzan con un personaje divertido, las palabras reservadas en realidad no entran en conflicto con los nombres de las variables.


http://www.wall.org/~larry/natural.html :

El inglés usa el número y el orden de las palabras, con vestigios de un sistema de casos en los pronombres: "El hombre miró a los hombres y le devolvieron la mirada". Está perfectamente claro en esa oración quién está haciendo qué a quién. Del mismo modo, Perl tiene marcadores de números en sus sustantivos; es decir, $ perro es un perro y @dog es (potencialmente) muchos. Entonces $ y @ son un poco como "esto" y "estos" en inglés.


  • Debido a que Perl estaba destinado a reemplazar scripts de shell, y las variables en shell comienzan con $ .
  • Para distinguir entre escalares ( $ ), matrices ( @ ) y hashes ( % ).