Izpratne par darbības jomu programmā VEXcode Pro V5

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.

Nu, jums ir jāzina par darbības jomas noteikumu — izpratne par “tvēruma” idejām ar {... }

Vietējie mainīgie

Ievērojiet izvadi, kas ģenerēta no parauga koda. Būtu skaidri jānorāda galvenā atšķirība. Tie visi ir “lokālie” mainīgie {...}  vērtības robežās.

int galvenais( ) {
int X = 10, Y = 15;
{
  int X = 20;
   {
     int X = 30, Y = 35;
     smadzenes.Screen.printAt(4,30, "3. viens: %d, %d ", X, Y); 
   }
  	 brain.Screen.printAt(4, 60, "2nd one: %d, %d", X, Y); 
	}
	brain.Screen.printAt(4, 90, "1. one: %d, %d", X, Y);	
	atgriešanās 0;
}

Izvade:

3. viens: 30, 35 
2. viens: 20, 15 
1. viens: 10, 15

Iepriekš minētais piemērs tiek izmantots ātrai un vienkāršai precizēšanai. Neizmantojiet identiskus vertikālos mainīgos ligzdotajos tvērumos.

Kā būtu ar mainīgo lielumu ievietošanu ārpus bloka “main()”?

Globālie mainīgie

Mainīgos ievietojot ārpus bloka main( ) , bet ne nevienā citā funkcijā, mainīgie būs globāli lietojami visām projekta funkcijām. Tos sauc par globālajiem mainīgajiem.

int gValue = 90000; // tas attiecas uz visu pārējo tvērumu globāli
  
int main() {

  Brain.Screen.setFont(fontType::mono30);
  int X = 10;
  {
      int X = 20, gValue = 8000;
      {
         int X = 30, gValue = 700;
         Brain.Screen.printAt(4, 30, " 3. one: %d ", gValue + X); 
      }
      Brain.Screen.printAt(4, 60, " 2nd one: %d ", gValue + X); 
   }
   Brain.Screen.printAt(4, 90, " 1st one: %d ", gValue + X);
}

Izvade:

3.: 730
2.: 8020 
1.: 90010

Labākā prakse ir neizmantot vienus un tos pašus identifikatoru nosaukumus gan globālajiem, gan vietējiem mainīgajiem.

Uzmanību: Ņemiet vērā, ka es minēju: “projekts”, nevis “fails”. Projekts var sastāvēt no vairāk nekā viena faila. Tomēr vienā projektā var būt tikai viena galvenā( ) funkcija. Tas ir ārpus šī raksta darbības jomas. Ir daži papildu noteikumi, piemēram, “ārējais” izmantošana attiecībā uz globālajiem mainīgajiem. Tas tiks sīkāk apspriests citā sadaļā par vairākiem failiem vienā projektā VEX bibliotēkā.


Kas ir “vārdtelpas vex”?

Vārdtelpa ne vienmēr iekļaujas diskusijā par “lokāliem” un “globālajiem” mainīgajiem per se, jo nosaukumtelpa nav mainīgais. Tomēr “namespace vex” satur savu tvērumu. Tā kā tā ir daļa no veidnes koda bāzes, kas OBLIGĀTI jāiekļauj visā savā V5 programmā, šajā rakstā ir īsi jāaptver nosaukumvietas darbības jomas noteikums.

Katra nosaukumvieta ir kā telpa, kurā varat izveidot mainīgo, funkciju kopu, kas attiecas uz šo individuālo “telpu”. Jūs iegūstat piekļuvi visiem pieejamajiem mainīgajiem, funkcijām, klasēm utt., kas definēti šajā “telpā”.

Varat meklēt nosaukumvietu tiešsaistē vietnē https://api.vexcode.cloud/v5/html/. Lai ātri meklētu, varat arī ar peles labo pogu noklikšķināt uz “vex” un pēc tam noklikšķināt uz “Doties uz definīciju”. Jūs atradīsit daudz informācijas par to, kas ir pieejams nosaukumvietā “vex”.

Koda fragments, kas ilustrē programmēšanas koncepcijas V5 kategorijā, ietver koda struktūras un sintakses piemērus izglītības nolūkos.

Jūs varat piekļūt jebkuram no tiem, rīkojoties šādi: vex::

piemēram, skatiet atpakaļ veidnes kodu:

izmantojot nosaukumvietu vex;
vex::brain Smadzenes;

Turklāt jebkuri nosaukumi, tostarp mainīgie, funkcijas utt., kas deklarēti šajā “veksajā” telpā, nebūs pretrunā ar citu programmas “atstarpi”.

Piemēram, varat izlemt izveidot “myOwnNamespace” un piešķirt mainīgajam nosaukumu “Brain”. Nav ieteicams kaut ko tādu darīt, taču programma to atļaus. Tas ir tāpēc, ka tas ir definēts sadaļā "myOwnNamespace".

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: