Sigil (informatique)

Un article de Wikipédia, l'encyclopédie libre.

Un sigil est le premier caractère d'un identificateur en Perl. Il est non alphanumérique et dénote son type. Donc, Perl n'est pas seulement un langage dynamiquement typé, c'est aussi un langage statiquement typé, bien qu'avec peu de types statiques.

$a   # variable de type scalaire
@a   # variable de type tableau
%a   # variable de type hash
\&a  # fonction

[modifier] Sigil et interpolation de chaîne

L'interpolation de scalaire dans une chaîne est très utile. Cette sémantique est héritée des shell Unix.

[modifier] Twigils

Perl 6 introduit des sigils secondaires appelés twigils :

$foo        # variable classique sans sigil secondaire
$^foo       # paramètre auto-déclaré
$*foo       # variable globale
$?foo       # indication pour le compilateur
$=foo       # variable pod : pour la documentation
$<foo>      # variable de match utilise dans les [[regex]]
$!foo       # attribut privé de l'objet courant
$.foo       # attribut public de l'objet courant...
            # ...acesseur pour du code en dehors de la classe de l'objet

[modifier] Avantage d'une contrepartie lexicale d'un type statique

Que le type statique ait une contrepartie lexicale comporte un avantage considérable. Le type statique est ainsi indissociable du nom. C'est une forme d'autodocumentation. Perl 6 étend ce mécanisme documentaire. Ainsi, quand la documentation Perl 6 parle de .toto, il s'agit de la méthode toto. Le point n'est pas à proprement parler un sigil car le nom de la méthode est toto. Mais le point faisant partie de la syntaxe d'appel de la méthode, cette convention de nommage est mnémotechnique.

Autres langues