Arduino/switchcase
يتحقَّق التعبير switch...case
-كما في if
- من قيمة محدَّدة بطريقة تسمح للمبرمج بتحديد شيفرة معينة يراد تنفيذها بناءً على حالات مختلفة. بتفصيلٍ أوسع، يوازن التعبير switch...case
قيمة متغير مع القيم المحددة ضمنه؛ عند مطابقة قيمة ذلك المتغير مع إحدى القيم أو التعابير الموجودة ضمنه، فستُنفَّذ الكتلة البرمجية المرتبطة بتلك القيمة أو التعبير.
تستخدم عادةً الكلمة المفتاحية break
في نهاية كل حالة من حالات التعبير switch...case
للخروج منه بعد مطابقة الحالة وتنفيذ الكتلة المرتبطة بها. إن لم تُستعمَل الكلمة break
المفتاحية في تلك الحالة، فسيستمر التعبير switch...case
بفحص الحالات وتنفيذ الكتل البرمجية المرتبطة بها حتى الوصول إلى الكلمة break
أو إلى نهايته.
البنية العامة
switch (var) {
case label1:
// الشيفرة الأولى التي ستنفذ عند مطابقة الحالة الأولى
break;
case label2:
// الشيفرة الثانية التي ستنفذ عند مطابقة الحالة الثانية
break;
default:
// الشيفرة الافتراضية التي ستنفذ عند عدم مطابقة أية حالة
// هذه الحالة اختيارية
}
المعاملات
var
المتغير المراد موازنة قيمته مع عدة قيم (حالات). أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
lable1
الثابت الأول الذي سيوازن مع المتغير var
. أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
lable2
الثابت الأول الذي سيوازن مع المتغير var
. أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
أمثلة
مثالٌ على استعمال التعبير switch...case
لموازنة قيمة متغير وتنفيذ شيفرة بما يناسبها:
switch (var) {
case 1:
// القيمة 1 var افعل شيئًا عندما يساوي
break;
case 2:
// القيمة 2 var افعل شيئًا عندما يساوي
break;
default:
// مع أي من القيم السابقة var افعل شيئًا إن لم يتطابق
break;
}
انظر أيضًا
- الكلمة المفتاحية
break
: تُستعمَل للخروج من الحلقات التكرارية، إذ تتخطى الشيفرة التي بعدها وشروط الحلقة المحددِّة وتخرج منها. - الحلقة
do...while
: - التعبير
else
: - الحلقة
for
: - الكلمة المفتاحية
goto
: - الحلقة
if...else
: - الكلمة المفتاحية
return
: - الحلقة
while
: