Pregunta

Estoy tratando de entender el código Perl de otra persona sin saber mucho de Perl.Apreciaría tu ayuda.

Encontré una función de Perl similar a esta:

MyFunction($arg1,$arg2__size,$arg3)

¿Tiene algún significado la sintaxis del doble subrayado en $arg2, ¿O es solo parte del nombre del segundo argumento?

¿Fue útil?

Solución

No hay un significado específico para el uso de __ dentro del nombre de una variable de Perl.Probablemente sea una preferencia del programador, especialmente en el caso que citó en su pregunta.Puede ver más información sobre la denominación de variables de Perl. aquí.

Otros consejos

Como en la mayoría de los idiomas, el guión bajo es sólo parte de un identificador;ningún significado especial.

¿Pero estás seguro de que es Perl?No hay ningún sello en las variables.¿Puedes publicar más contexto?

En lo que respecta al intérprete, un guión bajo es sólo otro carácter permitido en los identificadores.Se puede utilizar como alternativa a la concatenación o al caso camel para formar identificadores de varias palabras.

Un guión bajo inicial se utiliza a menudo para indicar que un identificador es sólo para uso local, p.ej. para partes no exportadas de un módulo.Es simplemente una convención;Al intérprete no le importa.

En el contexto de su pregunta, el doble guión bajo no tiene ningún significado programático.Los guiones bajos dobles significan algo especial para un número limitado de valores en Perl, en particular __FILE__ & __LINE__.Estos son literales especiales que no tienen el prefijo sigilo ($, % o @) y sólo se interpolan fuera de las comillas.Contienen la ruta completa y el nombre del archivo que se está ejecutando actualmente y la línea que se está ejecutando.Consulte la sección sobre 'Literales especiales' en datos perl o esta publicación sobre Perl Monks

Estoy bastante seguro de que arg2__size es solo el nombre de una variable.

La respuesta de Mark es, por supuesto, correcta, no tiene ningún significado especial.

Pero quiero señalar que su ejemplo no se parece en nada a Perl.Las variables de Perl no son palabras simples.Tienen los sigilos, como verá en los enlaces anteriores.Y Perl no tiene "funciones", tiene subrutinas.

Por lo tanto, puede haber cierta confusión sobre de qué idioma estamos hablando.

Deberá decirle al intérprete que "$arg2" es el nombre de una variable.y no "$arg2__size".Para esto necesitarás usar el paréntesis.(Este uso es similar al que se ve en Shell).

Esto debería funcionar myFunction ($ arg1, $ {arg2} __ tamaño, $ arg3)

--Binu

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top