إنتقل إلى المحتوى الرئيسي

المتغيرات

  • الإسناد يُنشئ المتغير. total = 0; لا توجد كلمة أساسية للتصريح ولا تعليق توضيحي للنوع.
  • يجب الإسناد إلى المتغير في موضع ما فوق أول استخدام له في النص المصدري، وإلا فلن يُترجَم البرنامج النصي (متغير غير معرَّف). يُفحص ذلك حسب الموضع في النص، وليس حسب ما يُنفَّذ فعليًا.
  • لذا فإن المتغير الذي يُسند إليه داخل فرع if فقط يُترجَم عند استخدامه بعد if. إذا لم يُنفَّذ ذلك الفرع، يحمل المتغير Integer 0.
  • يوجد نطاق واحد لكل برنامج نصي. الكتلة { } لا تُنشئ نطاقًا جديدًا. يبقى عدّاد الحلقة موجودًا بعد الحلقة بقيمته النهائية، والإسناد إلى اسم داخل كتلة يغيّر المتغير نفسه في كل مكان.
  • تعيش المتغيرات طوال تشغيل واحد للبرنامج النصي. يبدأ كل إرسال بلا متغيرات، ولا يرى إجراءان يعملان في الوقت نفسه متغيرات بعضهما أبدًا. استخدم Storage للاحتفاظ بقيمة بين مرات التشغيل.
  • يمكن أن يحمل المتغير اسم دالة مضمَّنة نفسه. يُميَّز بين x وx(…) بالقوس، مع أن إعادة استخدام اسم دالة مضمَّنة غير مستحسنة.
if (MouseGetCursorX() > 500) {
side = "right";
}
UtilityPrint(StringFormat("side = {0}", side, "")); // يُترجَم؛ ويطبع "side = 0" عندما لا يُنفَّذ الفرع

for (i = 0; i < 3; i = i + 1) { }
UtilityPrint(StringFormat("i after loop = {0}", i, "")); // 3 -- لا يوجد نطاق للكتلة