فهم النطاق في 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.

حسنًا، أنت بحاجة إلى التعرف على قاعدة النطاق - فهم أفكار "النطاق" مع {... }

المتغيرات المحلية

لاحظ الإخراج الناتج من نموذج التعليمات البرمجية. ينبغي أن يكون واضحا حول الفرق الرئيسي. هذه كلها متغيرات "محلية"، ضمن نطاقها {...}.

int main() {
int X = 10, Y = 15;
{
  إنت X = 20؛
   {
     إنت X = 30، ص = 35؛
     Brain.Screen.printAt(4,30, "الثالث: %d, %d ", X, Y); 
   }
  	 Brain.Screen.printAt(4, 60, "الثاني: %d, %d", X, Y); 
	}
	Brain.Screen.printAt(4, 90, "الأول: %d, %d", X, Y);	
	عودة 0؛
}

انتاج:

الثالثة: 30، 35 
الثانية: 20، 15 
الأولى: 10، 15

يتم استخدام المثال أعلاه للتوضيح السريع والسهل. لا تستخدم متغيرات رأسية متطابقة ضمن النطاقات المتداخلة.

ماذا عن وضع المتغيرات خارج الكتلة "الرئيسية ()"؟

المتغيرات العالمية

إن وضع المتغيرات خارج الكتلة main() ، ولكن ليس ضمن أي وظائف أخرى، سيجعل المتغيرات قابلة للاستخدام عالميًا بواسطة جميع الوظائف في المشروع. ويشار إلى هذه باسم المتغيرات العالمية.

كثافة العمليات gValue = 90000؛ // هذا عام لجميع النطاقات الأخرى
  
int main() {

  Brain.Screen.setFont(fontType::mono30);
  إنت X = 10؛
  {
      int X = 20, gValue = 8000;
      {
         int X = 30, gValue= 700;
         Brain.Screen.printAt(4, 30, "الثالث: %d "، gValue + X); 
      }
      Brain.Screen.printAt(4, 60, "الثاني: %d "، gValue + X); 
   }
   Brain.Screen.printAt(4, 90, " الأول: %d ", gValue + X);
}

انتاج:

الثالث: 730
الثاني: 8020 
الأول: 90010

أفضل الممارسات هي عدم استخدام نفس أسماء المعرفات لكل من المتغيرات العالمية والمحلية.

تنبيه: لاحظ أنني ذكرت: "مشروع"، وليس "ملف". يمكن أن يتكون المشروع من أكثر من ملف واحد. ومع ذلك، ضمن مشروع واحد، لا يمكن أن يكون لديك أكثر من وظيفة رئيسية ( ). وهذا خارج نطاق هذه المقالة. هناك بعض القواعد الإضافية مثل استخدام "الخارجية" فيما يتعلق بالمتغيرات العامة. سيتم مناقشة هذا الأمر بشكل أكبر في قسم آخر يتعلق بالملفات المتعددة ضمن مشروع واحد داخل مكتبة VEX.


ما هو "مساحة الاسم فيكس"؟

لا تندرج مساحة الاسم بالضرورة ضمن مناقشة المتغيرات "المحلية" مقابل المتغيرات "العالمية" في حد ذاتها، نظرًا لأن مساحة الاسم ليست متغيرة. ومع ذلك، فإن "مساحة الاسم vex" تحتوي على نطاقًا خاصًا بها. نظرًا لأنه جزء من قاعدة التعليمات البرمجية للقالب التي يجب عليك تضمينها في كل برامج V5 الخاصة بك، فيجب تغطية قاعدة النطاق الخاصة بمساحة الاسم لفترة وجيزة في هذه المقالة.

تشبه كل مساحة اسم مساحة حيث يمكنك إنشاء مجموعة من المتغيرات والوظائف المتعلقة بتلك "المساحة" الفردية. يمكنك الوصول إلى جميع المتغيرات والوظائف والفئات المتاحة وما إلى ذلك المحددة داخل هذه "المساحة".

يمكنك البحث عن مساحة الاسم عبر الإنترنت على https://api.vexcode.cloud/v5/html/. للبحث السريع، يمكنك أيضًا النقر بزر الماوس الأيمن على "vex"، ثم النقر على "الانتقال إلى التعريف". ستجد ثروة من المعلومات حول ما هو متاح من مساحة الاسم "vex".

مقتطف من التعليمات البرمجية يوضح مفاهيم البرمجة في فئة V5، ويضم بنية التعليمات البرمجية والنحوية كمثال للأغراض التعليمية.

يمكنك الوصول إلى أي منها عن طريق القيام بما يلي: vex::

على سبيل المثال، ارجع إلى رمز القالب:

باستخدام مساحة الاسم vex؛
فيكس::الدماغ الدماغ؛

بالإضافة إلى ذلك، فإن أي أسماء تتضمن متغيرات ووظائف وما إلى ذلك تم الإعلان عنها داخل هذه المساحة "vex" لن تتعارض مع "مساحة" أخرى في البرنامج.

على سبيل المثال، يمكنك أن تقرر إنشاء "myOwnNamespace" وعنوان المتغير "Brain". ليس من المستحسن أن تفعل شيئا من هذا القبيل، ولكن البرنامج سوف يسمح بذلك. وذلك لأنه تم تعريف ذلك ضمن "myOwnNamespace."

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

Last Updated: