Arduino/scope

من موسوعة حسوب
مراجعة 08:19، 27 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'تملك المتغيرات في لغة C، التي اشتقَّت لغة أردونيو منها، خاصيةً تدعى «مجال» (scope) تحدِّد مجال ا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تملك المتغيرات في لغة C، التي اشتقَّت لغة أردونيو منها، خاصيةً تدعى «مجال» (scope) تحدِّد مجال استعمال هذه المتغيرات ومن يمكنه الوصول إليها. هذا يختلف عن الإصدارات الحديثة للغاتٍ مثل BASIC التي يكون فيها المتغير عامًّا (global) دومًا.

المتغيرات العامة يمكن أن تراها جميع الدوال في البرنامج. من جهة أخرى، تكون المتغيرات المحلية (local variables) مرئية في الدالة التي عُرَّفت ضمنها فقط وغير متاحة للدوال الأخرى. في بيئة أردونيو IDE، أي متغيِّر يُعرَّف خارج دالةٍ (مثل الدالة setup()‎ والدالة loop()‎ وغيرهما) هو متغير عام.

عندما يصبح البرنامج كبيرًا ويزداد تعقيدًا، تكون المتغيرات المحليَّة مفيدةٌ أكثر من تلك العامة للتأكد من وصول دالة واحدة فقط إلى المتغيرات المعرَّفة ضمنها. يمنع هذا من حصول أخطاءٍ ناجمة عن تعديل إحدى الدوال متغيرات تستعملها دالة أخرى دون قصد.

إنَّه من المفيد التصريح عن متغيرات وإسناد قيمة إليها داخل الحلقات التكرارية مثل الحلقة for. هذا يمنع أي شيء خارج الحلقة من الوصول إلى هذا المتغير وتعديله.

أمثلة

int gPWMval;  // يمكن لأي دالة رؤية هذا المتغير والوصول إليه

void setup()
{
  // ...
}

void loop()
{
  int i;    // loop مرئي فقط ضمن الحلقة "i" المتغير
  float f;  // فقط loop مرئي أيضًا ضمن الحلقة  "f" المتغير
  // ...

  for (int j = 0; j <100; j++){
  // فقط for متاح ضمن الحلقة j المتغير
  }

}

انظر أيضًا

مصادر