Skip to content

الأنماط والمطابقة

مطابقة الأنماط (طابق/عندما) هي بديل قوي لسلاسل إذا/وإلا الطويلة. تتيح لك مقارنة قيمة بعدة أنماط بطريقة واضحة ومقروءة.

التركيب الأساسي

sad
طابق (قيمة)
  عندما نمط1:
    # كود
  عندما نمط2:
    # كود
  افتراضي:
    # إذا لم يتطابق أي نمط
نهاية

أنواع الأنماط

مطابقة القيم الحرفية

sad
متغير يوم = "الأحد"

طابق (يوم)
  عندما "السبت":
    اطبع_سطر("عطلة نهاية الأسبوع")
  عندما "الأحد":
    اطبع_سطر("عطلة نهاية الأسبوع")
  عندما "الجمعة":
    اطبع_سطر("يوم الجمعة المبارك")
  افتراضي:
    اطبع_سطر("يوم عمل")
نهاية

مطابقة النطاقات

sad
متغير عمر = 25

طابق (عمر)
  عندما 0..13:
    اطبع_سطر("طفل")
  عندما 13..20:
    اطبع_سطر("مراهق")
  عندما 20..60:
    اطبع_سطر("بالغ")
  افتراضي:
    اطبع_سطر("كبير في السن")
نهاية

مطابقة OR (بدائل متعددة)

sad
متغير درجة = "ب"

طابق (درجة)
  عندما "أ" || "أ+":
    اطبع_سطر("ممتاز!")
  عندما "ب" || "ب+":
    اطبع_سطر("جيد جداً")
  عندما "ج":
    اطبع_سطر("مقبول")
  افتراضي:
    اطبع_سطر("راسب")
نهاية

ربط المتغيرات

sad
طابق (قيمة)
  عندما ن @ 1..100:
    اطبع_سطر("رقم صغير: " + ن)
  عندما ن:
    اطبع_سطر("قيمة أخرى: " + ن)
نهاية

النمط الشامل (_ أو افتراضي)

sad
طابق (لون)
  عندما "أحمر":
    ارجع "#FF0000"
  عندما "أخضر":
    ارجع "#00FF00"
  عندما _:
    ارجع "#000000"
نهاية

جدول أنواع الأنماط

النمطالوصفمثال
حرفيمطابقة قيمة محددةعندما 42:
نطاقمجال أرقامعندما 1..10:
بدائلOR بين أنماطعندما 1 || 2:
ربطربط قيمة بمتغيرعندما ن @ 1..10:
شاملأي قيمةعندما _: أو افتراضي:

نصيحة

استخدم طابق بدلاً من سلاسل إذا/وإلا الطويلة — الكود أوضح وأقل عرضة للأخطاء.

عندما دائرة د    ارجع 3.14159 * د.نصف_القطر ** 2   نهاية
عندما مستطيل م   ارجع م.ع * م.ط                    نهاية
افتراضي          ارجع 0                              نهاية

نهاية نهاية

مُرخَّص بموجب رخصة MIT