Déclaration explicite des noms de symboles à l'aide de $

Registered by Luc Bruninx

    Cette amélioration est très importante car elle permet de déclarer des symboles dont le nom entre en collision avec des mots clès du langage (noms d'opérateur).

    On ne pouvait pas, par exemple, déclarer la variable 'string car l'interpréteur considére cette forme comme l'opérateur string quoté.

    Bien entendu, dans l'espace de noms d'un objet, on fait précéder le nom symbolique de l'opérateur de résolution de portée. Ainsi, ':string ou 'SELF:string ne pose pas de problème. Par contre, si on n'utilisait pas la résolution de portée dans une expression comme (objet 'string), on constatait également le même souci: 'string n'était pas considéré comme un symbole mais bien comme un opérateur.

    Si on écrit à présent un symbole '$x, celui-ci est stocké sous le nom symbolique 'x où 'x est un nom symbolique explicite. Bien entendu, on peut ensuite utiliser ce même symbole de façon implicite 'x puisque son interprétation ne pose aucun problème. Il ne peut s'agir que d'un symbole.

    Si on écrit maintenant '$string, on indique explicitement qu'il s'agit du symbole 'string et non de l'opérateur string. Le problème consistant à distinguer les opérateurs des symboles dont les noms entre en collision est donc résolu.

Blueprint information

Status:
Complete
Approver:
Luc Bruninx
Priority:
Essential
Drafter:
Luc Bruninx
Direction:
Approved
Assignee:
Luc Bruninx
Definition:
Approved
Series goal:
Accepted for 1.0
Implementation:
Implemented
Milestone target:
None
Started by
Luc Bruninx
Completed by
Luc Bruninx

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.