VEXcode Pro V5'te Kapsamı Anlamak

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.

Peki, Kapsam Kuralı hakkında bilgi sahibi olmanız gerekiyor - {... }ile “kapsam” fikirlerini anlamak

Yerel Değişkenler

Örnek koddan oluşturulan çıktıyı gözlemleyin. Temel farkın açık olması gerekir. Bunların hepsi {...} kapsamındaki “yerel” değişkenlerdir.

int main() {
int X = 10, Y = 15;
{
  int X = 20;
   {
     int X = 30, Y = 35;
     brain.Screen.printAt(4,30, "3. bir: %d, %d ", X, Y); 
   }
  	 brain.Screen.printAt(4, 60, "2. bir: %d, %d", X, Y); 
	}
	brain.Screen.printAt(4, 90, "1. bir: %d, %d", X, Y);	
	0 değerini döndürür;
}

Çıktı:

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

Yukarıdaki örnek hızlı ve kolay açıklama için kullanılmıştır. İç içe kapsamlarda aynı dikey değişkenleri kullanmayın.

Değişkenleri “ana( )” bloğunun dışına koymaya ne dersiniz?

Küresel Değişkenler

Değişkenleri main( ) bloğunun dışına koymak, ancak başka hiçbir fonksiyonun içine koymamak, değişkenleri projedeki tüm fonksiyonlar tarafından global olarak kullanılabilir hale getirecektir. Bunlara global değişkenler denir.

int gDeğeri = 90000; // bu diğer tüm kapsamlar için geneldir
  
int main() {

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

Çıktı:

3.sü: 730
2.si: 8020 
1.si: 90010

En iyi uygulama, hem genel hem de yerel değişkenler için aynı tanımlayıcı adlarını kullanmamaktır.

Dikkat: Bahsettiğime dikkat edin: “dosya” değil “proje”. Bir proje birden fazla dosyadan oluşabilir. Ancak tek bir projede birden fazla main( ) işlevine sahip olamazsınız. Bu, bu makalenin kapsamı dışındadır. Global değişkenlerle ilgili “extern” kullanımı gibi bazı ek kurallar vardır. Bu, VEX Kütüphanesiiçindeki tek bir projedeki birden fazla dosyayla ilgili başka bir bölümde daha ayrıntılı olarak tartışılacaktır.


“Ad alanı vex” nedir?

Ad Alanı bir değişken olmadığı için Ad Alanı, kendi başına "yerel" ve "küresel" değişkenler tartışmasının kapsamına girmez. Ancak “isim alanı vex” kendi kapsamınıiçermez. Tüm V5 programınıza dahil etmeniz GEREKEN şablon kod tabanının bir parçası olduğundan, ad alanına ilişkin kapsam kuralının bu makalede kısaca ele alınması gerekir.

Her ad alanı, o bireysel "alan" ile ilgili bir dizi değişken ve işlev oluşturabileceğiniz bir alan gibidir. Bu "boşluk" içinde tanımlanan tüm mevcut değişkenlere, işlevlere, sınıflara vb. erişebilirsiniz.

Ad alanını çevrimiçi olarak https://api.vexcode.cloud/v5/html/adresinden arayabilirsiniz. Hızlı arama için "vex"e sağ tıklayıp ardından "Tanımlamaya Git"e de tıklayabilirsiniz. “Vex” ad alanında neler mevcut olduğuna dair zengin bilgiler bulacaksınız.

V5 kategorisindeki programlama kavramlarını gösteren, eğitim amaçlı örnek kod yapısı ve sözdizimi içeren kod parçacığı.

Bunlardan herhangi birine şunları yaparak erişebilirsiniz: vex::

örneğin şablon koduna geri dönün:

ad alanı vex'i kullanma;
vex::beyin Beyin;

Ayrıca bu “vex” alanı içerisinde bildirilen değişkenler, işlevler vb. gibi adlar programdaki başka bir “boşluk” ile çakışmayacaktır.

Örneğin, "myOwnNamespace" oluşturmaya karar verebilir ve bir değişkene "Beyin" adını verebilirsiniz. Böyle bir şey yapmanız önerilmez ancak program buna izin verecektir. Bunun nedeni bunun "myOwnNamespace" içinde tanımlanmış olmasıdır.

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

Last Updated: