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.

ശരി, നിങ്ങൾ സ്കോപ്പ് നിയമത്തെക്കുറിച്ച് അറിയേണ്ടതുണ്ട് - {... }ഉപയോഗിച്ച് “സ്കോപ്പ്” എന്നതിന്റെ ആശയങ്ങൾ മനസ്സിലാക്കൽ.

ലോക്കൽ വേരിയബിളുകൾ

സാമ്പിൾ കോഡിൽ നിന്ന് ലഭിക്കുന്ന ഔട്ട്പുട്ട് നിരീക്ഷിക്കുക. പ്രധാന വ്യത്യാസം വ്യക്തമായിരിക്കണം. ഇവയെല്ലാം "ലോക്കൽ" വേരിയബിളുകളാണ്, അതിന്റെ {...} പരിധിക്കുള്ളിൽ.

int main( ) {
int X = 10, Y = 15;
{
  int X = 20;
   {
     int X = 30, Y = 35;
     brain.Screen.printAt(4,30, "3rd one: %d, %d ", X, Y); 
   }
  	 brain.Screen.printAt(4, 60, "2nd one: %d, %d", X, Y); 
	}
	brain.Screen.printAt(4, 90, "1st one: %d, %d", X, Y);	
	റിട്ടേൺ 0;
}

ഔട്ട്പുട്ട്:

മൂന്നാമത്തേത്: 30, 35 
രണ്ടാമത്തേത്: 20, 15 
ഒന്നാമത്തേത്: 10, 15

മുകളിലുള്ള ഉദാഹരണം വേഗത്തിലും എളുപ്പത്തിലും വ്യക്തത വരുത്തുന്നതിനാണ് ഉപയോഗിക്കുന്നത്. നെസ്റ്റഡ് സ്കോപ്പുകളിൽ ഒരേപോലുള്ള ലംബ വേരിയബിളുകൾ ഉപയോഗിക്കരുത്.

“main( )” ബ്ലോക്കിന് പുറത്ത് വേരിയബിളുകൾ വയ്ക്കുന്നതിനെക്കുറിച്ച് എങ്ങനെ?

ആഗോള വേരിയബിളുകൾ

main( ) ബ്ലോക്കിന് പുറത്ത് വേരിയബിളുകൾ സ്ഥാപിക്കുന്നത്, എന്നാൽ മറ്റ് ഫംഗ്ഷനുകളിൽ ഉൾപ്പെടുത്താതിരിക്കുന്നത്, പ്രോജക്റ്റിലെ എല്ലാ ഫംഗ്ഷനുകൾക്കും വേരിയബിളുകൾ ആഗോളതലത്തിൽ ഉപയോഗിക്കാൻ അനുയോജ്യമാക്കും. ഇവയെ ആഗോള വേരിയബിളുകൾ എന്ന് വിളിക്കുന്നു.

int gValue = 90000; // ഇത് മറ്റെല്ലാ സ്കോപ്പുകൾക്കും ആഗോളമാണ്
  
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, " 3rd one: %d ", gValue + X); 
      }
      Brain.Screen.printAt(4, 60, " 2nd one: %d ", gValue + X); 
   }
   Brain.Screen.printAt(4, 90, " 1st one: %d ", gValue + X);
}

ഔട്ട്പുട്ട്:

മൂന്നാമത്തേത്: 730
രണ്ടാമത്തേത്: 8020 
ഒന്നാമത്തേത്: 90010

ഗ്ലോബൽ, ലോക്കൽ വേരിയബിളുകൾക്ക് ഒരേ ഐഡന്റിഫയർ നാമങ്ങൾ ഉപയോഗിക്കാതിരിക്കുക എന്നതാണ് ഏറ്റവും നല്ല രീതി.

ശ്രദ്ധിക്കുക: ഞാൻ "ഫയൽ" എന്നല്ല, "പ്രോജക്റ്റ്" എന്നാണ് പറഞ്ഞതെന്ന് ശ്രദ്ധിക്കുക. ഒരു പ്രോജക്റ്റിൽ ഒന്നിലധികം ഫയലുകൾ ഉണ്ടാകാം. എന്നിരുന്നാലും, ഒരു പ്രോജക്റ്റിനുള്ളിൽ, നിങ്ങൾക്ക് ഒന്നിലധികം main( ) ഫംഗ്‌ഷനുകൾ ഉണ്ടാകാൻ പാടില്ല. ഇത് ഈ ലേഖനത്തിന്റെ പരിധിക്കു പുറത്താണ്. ഗ്ലോബൽ വേരിയബിളുകളെ സംബന്ധിച്ച് “ബാഹ്യ” ഉപയോഗിക്കുന്നത് പോലുള്ള ചില അധിക നിയമങ്ങളുണ്ട്. VEX ലൈബ്രറിലെ ഒരു പ്രോജക്റ്റിനുള്ളിൽ ഒന്നിലധികം ഫയലുകളെക്കുറിച്ച് മറ്റൊരു വിഭാഗത്തിൽ ഇത് കൂടുതൽ ചർച്ച ചെയ്യും.


"നെയിംസ്‌പേസ് വെക്‌സ്" എന്താണ്?

നെയിംസ്‌പെയ്‌സ് ഒരു വേരിയബിൾ അല്ലാത്തതിനാൽ, "ലോക്കൽ" vs. "ഗ്ലോബൽ" വേരിയബിളുകൾ എന്ന ചർച്ചയിൽ നെയിംസ്‌പെയ്‌സ് ഉൾപ്പെടണമെന്നില്ല. എന്നിരുന്നാലും, “namespace vex”-ൽ അതിന്റേതായ സ്കോപ്പ്അടങ്ങിയിരിക്കുന്നു. നിങ്ങളുടെ എല്ലാ V5 പ്രോഗ്രാമിലും ഉൾപ്പെടുത്തേണ്ട ടെംപ്ലേറ്റ് കോഡ് ബേസിന്റെ ഭാഗമായതിനാൽ, നെയിംസ്‌പെയ്‌സിനുള്ള സ്കോപ്പ് റൂളിനെക്കുറിച്ച് ഈ ലേഖനത്തിൽ ചുരുക്കമായി ചർച്ചചെയ്യണം.

ഓരോ നെയിംസ്‌പെയ്‌സും ഒരു സ്‌പെയ്‌സ് പോലെയാണ്, അവിടെ നിങ്ങൾക്ക് ആ വ്യക്തിഗത "സ്‌പെയ്‌സുമായി" ബന്ധപ്പെട്ട ഒരു കൂട്ടം വേരിയബിളുകൾ, ഫംഗ്‌ഷനുകൾ എന്നിവ സൃഷ്ടിക്കാൻ കഴിയും. ഈ "സ്‌പെയ്‌സിൽ" നിർവചിച്ചിരിക്കുന്ന ലഭ്യമായ എല്ലാ വേരിയബിളുകൾ, ഫംഗ്‌ഷനുകൾ, ക്ലാസുകൾ മുതലായവയിലേക്കും നിങ്ങൾക്ക് ആക്‌സസ് ലഭിക്കും.

നിങ്ങൾക്ക് https://api.vexcode.cloud/v5/html/എന്ന വിലാസത്തിൽ നെയിംസ്‌പെയ്‌സ് ഓൺലൈനായി നോക്കാം. പെട്ടെന്നുള്ള തിരയലിനായി, നിങ്ങൾക്ക് “vex”-ൽ വലത്-ക്ലിക്കുചെയ്യാനും തുടർന്ന് “Go to Definition”-ൽ ക്ലിക്കുചെയ്യാനും കഴിയും. "vex" എന്ന നെയിംസ്‌പെയ്‌സിൽ നിന്ന് ലഭ്യമായ വിവരങ്ങളുടെ ഒരു കലവറ നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയും.

V5 വിഭാഗത്തിലെ പ്രോഗ്രാമിംഗ് ആശയങ്ങൾ ചിത്രീകരിക്കുന്ന കോഡ് സ്‌നിപ്പെറ്റ്, വിദ്യാഭ്യാസ ആവശ്യങ്ങൾക്കുള്ള കോഡ് ഘടനയും വാക്യഘടനയും ഉദാഹരണമായി അവതരിപ്പിക്കുന്നു.

ഇവയിൽ ഏതിലെങ്കിലും നിങ്ങൾക്ക് ഇവയിൽ ഏതിലെങ്കിലും പ്രവേശിക്കാൻ കഴിയും: vex::

ഉദാ: ടെംപ്ലേറ്റ് കോഡ് വീണ്ടും പരിശോധിക്കുക:

നെയിംസ്‌പെയ്‌സ് വെക്‌സ് ഉപയോഗിക്കുന്നു;
വെക്‌സ്::ബ്രെയിൻ ബ്രെയിൻ;

കൂടാതെ, ഈ “vex” സ്‌പെയ്‌സിനുള്ളിൽ പ്രഖ്യാപിച്ചിരിക്കുന്ന വേരിയബിളുകൾ, ഫംഗ്‌ഷനുകൾ മുതലായവ ഉൾപ്പെടെയുള്ള ഏതൊരു പേരുകളും പ്രോഗ്രാമിലെ മറ്റൊരു “സ്‌പെയ്‌സുമായി” പൊരുത്തപ്പെടില്ല.

ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് "myOwnNamespace" സൃഷ്ടിക്കാനും ഒരു വേരിയബിളിന് "Brain" എന്ന് ടൈറ്റിൽ നൽകാനും തീരുമാനിക്കാം. അങ്ങനെ എന്തെങ്കിലും ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നില്ല, പക്ഷേ പ്രോഗ്രാം അത് അനുവദിക്കും. കാരണം ഇത് "myOwnNamespace"-ൽ നിർവചിച്ചിരിക്കുന്നു.

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

Last Updated: