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, "3য় এক: %d, %d ", X, Y);
}
brain.Screen.printAt(4, 60, "2য় এক: %d, %d", X, Y);
}
brain.Screen.printAt(4, 90, "1ম: %d, %d", X, Y);
রিটার্ন 0;
}
আউটপুট:
তৃতীয়টি: 30, 35 2য়টি: 20, 15 প্রথমটি: 10, 15
উপরের উদাহরণটি দ্রুত এবং সহজ ব্যাখ্যার জন্য ব্যবহৃত হয়। নেস্টেড স্কোপের মধ্যে অভিন্ন উল্লম্ব ভেরিয়েবল ব্যবহার করবেন না।
ভেরিয়েবলগুলিকে "প্রধান()" ব্লকের বাইরে রাখলে কেমন হয়?
গ্লোবাল ভেরিয়েবল
ভেরিয়েবলগুলিকে 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, " 3য় এক: %d ", gValue + X);
}
Brain.Screen.printAt(4, 60, " 2nd one: %d ", gValue + X);
}
Brain.Screen.printAt(4, 90, " 1st one: %d ", gValue + X);
}
আউটপুট:
3য় জন: 730 2য় জন: 8020 1ম: 90010
সর্বোত্তম অনুশীলন হল গ্লোবাল এবং স্থানীয় উভয় ভেরিয়েবলের জন্য একই শনাক্তকারীর নাম ব্যবহার না করা।
মনোযোগ: মনে রাখবেন যে আমি উল্লেখ করেছি: "প্রকল্প", "ফাইল" নয়। একটি প্রকল্প একাধিক ফাইল নিয়ে গঠিত হতে পারে। যাইহোক, একটি একক প্রকল্পের মধ্যে, আপনার একটির বেশি প্রধান( ) ফাংশন থাকতে পারে না। এটি এই নিবন্ধের সুযোগের বাইরে। গ্লোবাল ভেরিয়েবল সম্পর্কিত "বহিরাগত" ব্যবহার করার মতো কিছু অতিরিক্ত নিয়ম রয়েছে। এটি VEX লাইব্রেরিএর মধ্যে একটি একক প্রকল্পের মধ্যে একাধিক ফাইল সম্পর্কিত অন্য বিভাগে আরও আলোচনা করা হবে।
"নেমস্পেস ভেক্স" কি?
নেমস্পেস অগত্যা "স্থানীয়" বনাম "গ্লোবাল" ভেরিয়েবলের আলোচনায় পড়ে না, যেহেতু নেমস্পেস একটি পরিবর্তনশীল নয়। যাইহোক, "নেমস্পেস ভেক্স" এর নিজস্ব স্কোপথাকে। যেহেতু এটি টেমপ্লেট কোড বেসের অংশ যা আপনাকে অবশ্যই আপনার সমস্ত V5 প্রোগ্রামে অন্তর্ভুক্ত করতে হবে, তাই নামস্থানের সুযোগের নিয়মটি এই নিবন্ধে সংক্ষেপে কভার করা উচিত।
প্রতিটি নামস্থান হল একটি স্থানের মতো যেখানে আপনি ভেরিয়েবলের একটি সেট তৈরি করতে পারেন, সেই পৃথক "স্পেস" এর সাথে সম্পর্কিত ফাংশন। আপনি এই "স্পেস" এর ভিতরে সংজ্ঞায়িত সমস্ত উপলব্ধ ভেরিয়েবল, ফাংশন, ক্লাস, ইত্যাদিতে অ্যাক্সেস পাবেন।
আপনি অনলাইনে নামস্থানটি দেখতে পারেন https://api.vexcode.cloud/v5/html/এ। দ্রুত সন্ধানের জন্য, আপনি "ভেক্স"-এ ডান-ক্লিক করতে পারেন, তারপর "সংজ্ঞায় যান" এ ক্লিক করুন। নামস্থান "vex" থেকে যা পাওয়া যায় তার প্রচুর তথ্য আপনি পাবেন।
আপনি এগুলোর যেকোনো একটিতে প্রবেশ করতে পারেন: vex::
যেমন টেমপ্লেট কোডে ফিরে যান:
নামস্থান ভেক্স ব্যবহার করে; উদ্বেগ::মস্তিষ্ক মস্তিষ্ক;
উপরন্তু, এই "ভেক্স" স্পেসের ভিতরে ঘোষিত ভেরিয়েবল, ফাংশন ইত্যাদি সহ যেকোনো নাম প্রোগ্রামের অন্য "স্পেস" এর সাথে বিরোধ করবে না।
উদাহরণস্বরূপ, আপনি "myOwnNamespace" তৈরি করার সিদ্ধান্ত নিতে পারেন এবং একটি পরিবর্তনশীল "Brain" শিরোনাম করতে পারেন। এটি সুপারিশ করা হয় না যে আপনি এরকম কিছু করবেন, তবে প্রোগ্রামটি এটির অনুমতি দেবে। কারণ এটি "myOwnNamespace"-এর মধ্যে সংজ্ঞায়িত করা হয়েছে।