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.
Nah, Anda perlu tahu tentang Aturan Cakupan - Memahami ide “cakupan” dengan {... }
Variabel Lokal
Amati keluaran yang dihasilkan dari kode contoh. Perbedaan utamanya harus jelas. Ini semua adalah variabel “lokal”, dalam cakupan {...}.
int main() {
int X = 10, Y = 15;
{
int X = 20;
{
int X = 30, Y = 35;
brain.Screen.printAt(4,30, "yang ke-3: %d, %d ", X, Y);
}
brain.Screen.printAt(4, 60, "yang ke-2: %d, %d", X, Y);
}
brain.Screen.printAt(4, 90, "yang ke-1: %d, %d", X, Y);
return 0;
}
Keluaran:
Yang ke-3: 30, 35 Yang ke-2: 20, 15 Yang ke-1: 10, 15
Contoh di atas digunakan untuk klarifikasi yang cepat dan mudah. Jangan gunakan variabel vertikal yang identik dalam cakupan bersarang.
Bagaimana dengan menempatkan variabel di luar blok “main()”?
Variabel Global
Menempatkan variabel di luar blok main() , tetapi tidak di dalam fungsi lain, akan membuat variabel dapat digunakan secara global oleh semua fungsi dalam proyek. Ini disebut sebagai variabel global.
int gValue = 90000; // ini global untuk semua cakupan lainnya
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, " yang ke-3: %d ", gValue + X);
}
Brain.Screen.printAt(4, 60, " yang ke-2: %d ", gValue + X);
}
Brain.Screen.printAt(4, 90, " yang ke-1: %d ", gValue + X);
}
Keluaran:
Yang ke-3: 730 Yang ke-2: 8020 Yang ke-1: 90010
Praktik terbaik adalah tidak menggunakan nama pengenal yang sama untuk variabel global dan lokal.
Perhatian: Perlu dicatat bahwa saya menyebutkan: “proyek”, bukan “berkas”. Suatu proyek dapat terdiri dari lebih dari satu berkas. Namun, dalam satu proyek, Anda tidak dapat memiliki lebih dari satu fungsi main(). Hal ini di luar cakupan artikel ini. Ada beberapa aturan tambahan seperti penggunaan "extern" mengenai variabel global. Hal ini akan dibahas lebih lanjut di bagian lain mengenai beberapa file dalam satu proyek dalam Pustaka VEX.
Apa itu "namespace vex"?
Namespace tidak mesti masuk ke dalam pembahasan variabel “lokal” vs. “global” itu sendiri, karena Namespace bukanlah sebuah variabel. Namun, “namespace vex” mengandung cakupannya sendiri. Karena ini adalah bagian dari basis kode templat yang HARUS Anda sertakan dalam semua program V5 Anda, aturan cakupan untuk namespace harus dibahas secara singkat dalam artikel ini.
Setiap namespace seperti ruang tempat Anda dapat membuat serangkaian variabel dan fungsi yang berkaitan dengan “ruang” individual tersebut. Anda memperoleh akses ke semua variabel, fungsi, kelas, dll. yang tersedia yang didefinisikan di dalam “ruang” ini.
Anda dapat mencari namespace daring di https://api.vexcode.cloud/v5/html/. Untuk pencarian cepat, Anda juga dapat mengklik kanan pada “vex,” lalu klik “Go to Definition.” Anda akan menemukan banyak informasi tentang apa yang tersedia dari namespace “vex.”
Anda dapat mengakses salah satunya dengan melakukan: vex::
misalnya Lihat kembali kode templat:
menggunakan namespace vex; vex::brain Brain;
Selain itu, nama apa pun termasuk variabel, fungsi, dll. yang dideklarasikan di dalam ruang “vex” ini tidak akan menimbulkan konflik dengan “ruang” lain dalam program.
Misalnya, Anda dapat memutuskan untuk membuat "myOwnNamespace," dan memberi judul variabel "Brain." Tidak disarankan Anda melakukan hal seperti itu, tetapi program akan mengizinkannya. Itu karena ini didefinisikan dalam "myOwnNamespace."