The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Eh bien, vous devez connaître la règle de portée - Comprendre les idées de « portée » avec {... }
Variables locales
Observez la sortie générée à partir de l’exemple de code. Il convient de préciser la principale différence. Ce sont toutes des variables « locales », dans sa portée {...}.
int main( ) { int X = 10, Y = 15; { entier X = 20 ; { int X = 30, Y = 35 ; brain.Screen.printAt(4,30, "3ème : %d, %d ", X, Y); } brain.Screen.printAt(4, 60, "2ème : %d, %d", X, Y); } brain.Screen.printAt(4, 90, "1er : %d, %d", X, Y); renvoie 0 ; }
Sortir:
3ème : 30, 35 2ème : 20, 15 1er : 10, 15
L'exemple ci-dessus est utilisé pour une clarification rapide et facile. N'utilisez pas de variables verticales identiques dans des étendues imbriquées.
Que diriez-vous de mettre les variables en dehors du bloc « main() » ?
Variables globales
Placer des variables en dehors du bloc main( )
, mais pas dans d'autres fonctions, rendra les variables globalement utilisables par toutes les fonctions du projet. Celles-ci sont appelées variables globales.
int gValeur = 90 000 ; // ceci est global pour toutes les autres portées int main() { Brain.Screen.setFont(fontType::mono30); entier X = 10 ; { int X = 20, gValeur = 8 000 ; { int X = 30, gValeur = 700 ; Brain.Screen.printAt(4, 30, " 3ème : %d ", gValue + X); } Brain.Screen.printAt(4, 60, " 2ème : %d ", gValue + X); } Brain.Screen.printAt(4, 90, " 1er : %d ", gValue + X); }
Sortir:
3ème : 730 2ème : 8020 1er : 90010
La meilleure pratique consiste à ne pas utiliser les mêmes noms d’identifiant pour les variables globales et locales.
Attention : Notez que j'ai mentionné : « projet », pas « fichier ». Un projet peut comprendre plusieurs fichiers. Cependant, au sein d’un même projet, vous ne pouvez pas avoir plus d’une fonction main( )
. Cela sort du cadre de cet article. Il existe quelques règles supplémentaires comme l'utilisation de « extern » concernant les variables globales. Ceci sera discuté plus en détail dans une autre section concernant plusieurs fichiers au sein d'un seul projet au sein de la bibliothèque VEX.
Qu’est-ce que « l’espace de noms vex » ?
L'espace de noms n'entre pas nécessairement dans la discussion entre les variables « locales » et « globales » en soi, puisque l'espace de noms n'est pas une variable. Cependant, « espace de noms vex » contient-il sa propre portée. Puisqu'elle fait partie de la base de code du modèle que vous DEVEZ inclure dans tous vos programmes V5, la règle de portée pour l'espace de noms doit être brièvement abordée dans cet article.
Chaque espace de noms est comme un espace dans lequel vous pouvez créer un ensemble de variables et de fonctions relatives à cet « espace » individuel. Vous avez accès à toutes les variables, fonctions, classes, etc. disponibles définies à l'intérieur de cet « espace ».
Vous pouvez rechercher l'espace de noms en ligne à l'adresse https://api.vexcode.cloud/v5/html/. Pour une recherche rapide, vous pouvez également cliquer avec le bouton droit sur le « vex », puis cliquer sur « Aller à la définition ». Vous trouverez une multitude d'informations sur ce qui est disponible à partir de l'espace de noms « vex ».
Vous pouvez accéder à n'importe lequel d'entre eux en faisant : vex ::
Par exemple, reportez-vous au code du modèle :
en utilisant l'espace de noms vex ; vex::cerveau Cerveau;
De plus, tous les noms comprenant des variables, des fonctions, etc. déclarés à l'intérieur de cet espace « vex » n'entreront pas en conflit avec un autre « espace » du programme.
Par exemple, vous pouvez décider de créer « myOwnNamespace » et d’intituler une variable « Brain ». Il n'est pas recommandé de faire quelque chose comme ça, mais le programme le permettra. C'est parce que cela est défini dans "myOwnNamespace".