pyswitch.

نظام مرسل بسيط للغاية ولكنه قوي يشبه PYTHON
التحميل الان

pyswitch. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • MIT/X Consortium Lic...
  • اسم الناشر:
  • Michael Kent

pyswitch. العلامات


pyswitch. وصف

نظام مرسل بسيط للغاية ولكنه قوي يشبه Python Pyswitch عبارة عن مرسل يشبه التبديل "يشبه" بسيطة ولكنه قوي إنها مستوحاة من بيان تبديل اللغة C، ولكن مع المزيد من المرونة؛ لا تقتصر قيم الحالة على أعداد صحيحة مثل في C، ولكن يمكن أن تكون قيمة قابلة للاستخدام مع مشغل المساواة "=="، أو أي سلسلة قابلة للاستخدام على الجانب الأيسر من المشغل "في"، أو أي تعبير منتظم. يمكن أيضا استخدام Isiquables لهذه الأنواع كقيم القيم. example: إليك مثال صغير لاستخدامه: >>> من المفتلة Pyswitch استيراد، SwitchError # Instantiate كائن التبديل. >>> Myswitch = Switch () # تسجيل بعض الحالات و معالجات الحالة، باستخدام الديكور مفيد Dandy # المقدمة من كائن التبديل. # معالج افتراضي. المعالج الافتراضي اختياري. إذا تم تحديده، فسيتم استدعاؤه # في جميع قيم التبديل غير معالجته بواسطة أي معالج آخر #. إذا لم يتم تحديده، فسيتم رفع مستوى تحول إلى قيمة تبديل غير معالج. # جميع المعالجين يتم تمرير القيمة التي يتم تبديلها، إلى جانب أي معلمات موضة اختيارية وغيرها من الكلمات الرئيسية المعطاة للمفتاح. # يمكن للمعالجين إرجاع قيمة، والتي ثم يتم إرجاعها بواسطة الدعوة إلى # التبديل الذي تسبب في استدعاء المعالج. بطبيعة الحال، يمكن للمعالجين القيام بأي شيء تريده. في هذه الحالة الافتراضية، نستخدم سلسلة من المعلومات المثيرة للاهتمام. >>> @ myswitch.default ... def gotdefault (القيمة، * args، ** kwargs): ... العودة "المعالج الافتراضي: لقد حصلت على قيمة غير مسجلة ص، "\ ..." مع Args: R و Kwargs: R " \ ... (القيمة، Args، Kwargs) # قيمة حالة رقمية واحدة. Decorator Decorator "الحالة" للمطابقة الدقيقة إلى قيمة التبديل. القيمة المقدمة لوظيفة القضية، المسمى # قيمة الحالة، يمكن أن يكون أي نوع قابل للاستخدام مع مشغل المساواة "==". >>> @ myswitch.case (0) ... def gotzero (القيمة، * args، * * Kwargs): ... العودة "Gotzero: حصلت على D، مع Args: R و Kwargs: R" \ ... (القيمة، Args، Kwargs) # مجموعة من قيم الحالة الرقمية. يمكن إعطاء قيم قيم # كقيمة الحالة. >>> @ myswitch.case (النطاق (5، 10)) ... def gotfivethrunine (القيمة، * args، ** kwargs): ... العودة "gotfiveethrunine : حصلت على D، مع Args: R و Kwargs: R " \ ... (القيمة، Args، Kwargs) # قيمة حالة السلسلة، للحصول على تطابق دقيق. >>> @ myswitch.case ('myswitch.case (' Guido ') ... def gotguido (القيمة، * args، ** kwargs): ... العودة "getguido: حصلت" s'، مع args: r و kwargs: r " \ ... (... القيمة، Args، Kwargs) # قيمة سلسلة للاستخدام مع المشغل "في". >>> @ myswitch.casein ('lo') ... def gotlo (القيمة، * args، ** kwargs): ... العودة "Gotlo: حصلت على ' s'، مع Args: R و Kwargs: R" \ ... (القيمة، Args، Kwargs) # تطابق نمط التعبير العادي في سلسلة. # يمكنك أيضا تمرير تعبير منتظم مسبقا. # ل Caseregex، والقيمة التي تم تمريرها إلى معالج الحالة هو في الواقع # كائن المباراة الناتجة عن تطابق نمط التعبير العادي الناجح. >>> @ myswitch.caseregex (R '\ B ( Y \ W *) \ B ') ... def gotpyword (matchobj، * args، ** kwargs): ... العودة "gotpyword: حصلت على matchobject حيث المجموعة (1) هي " S"، "\ ..." مع Args: R و Kwargs: R " \ ... (Matchobj.group (1)، Args، Kwargs) # وأخيرا، يمكنك تمرير قيم مختلفة من القيم المختلطة إلى الحالة، # casein، و caseregex. هنا، نمر في قائمة بقيم # غير متجانسة لاستخدامها للمطابقات الدقيقة. >>> @ myswitch.case () ... def gotstuffinseq (القيمة، * args، ** kwargs ) 0، اختبار = خطأ) "Gotzero: حصلت على 0، مع Args: () و Kwargs: {اختبار ': False}" >>> Myswitch (6، Flag = "مملة") "GotFiveThrunine: حصلت على 6 ، مع Args: () و Kwargs: {'flag': 'مملة'} ">>> >> المعالج الافتراضي '>>> myswitch (' guido '، bdfl = true) "getguido: حصلت على" guido "، مع args: () و kwargs: {' bdfl ': true}" >>> myswitch (' أي شخص ينظر guido حولها؟ ")" المعالج الافتراضي: حصلت على قيمة غير مسجلة "أي شخص ينظر guido حولها؟"، مع Args: () و Kwargs: {} ">>> myswitch (" نعم، وقال "مرحبا". '، 99، نعم = "لا") "Gotlo: حصلت على" لو "، مع Args: (99،) و Kwargs: {'نعم':" لا "}" >>> >> "gotpyword: حصلت على matchobject حيث المجموعة (1) هي "بيثون"، مع Args: () و Kwargs: {} ">>> myswitch ('yo')" gotstuffinseq: حصلت على 'yo'، مع args: () و kwargs : {}" متطلبات: بيثون ما الجديد في هذا الإصدار: لم يعد من الضروري استدعاء طريقة التبديل لفئة التبديل لإرسال قيمة، حيث أن طريقة __call__ هي الآن مرادف. لذلك بدلا من ذلك، يمكنك استخدام: myswitch = التبديل () ... سجل حالاتك ... العودة = myswitch (value_to_switch_on) ولكن طريقة التبديل لا تزال هناك التوافق إلى الوراء.


pyswitch. برامج ذات صلة