أنت منادي مسرح في مؤتمر دولي. مهمتك أن تُعلن عن المتحدثين، وتذكّرهم عندما ينتهي وقتهم، وتدير جلسة الأسئلة والأجوبة. تُعطى قائمة بالمتحدثين على مسرحك مسبقًا، وعليك تحويلهم إلى بطاقات إدارة.
بما أن القائمة تتبع تنسيقًا معينًا، تقرر كتابة برنامج قصير يحلّل القائمة التي تُعطى لك باستخدام التعبيرات النمطية (regex) ويولّد بطاقات الإدارة تلقائيًا.
هذا التمرين ليس عن تعلّم التعبيرات النمطية. بل عن تعلّم استخدام التعبيرات النمطية داخل $lang. تحتوي التلميحات على تعبير نمطي يمكنك استخدامه إن كنت لا تريد كتابة واحد بنفسك.
تحتوي القائمة التي تُعطى لك على المعلومات التالية عن كل حديث:
المدخل الكامل بهذا الشكل:
»Speedrunning 101« – Sasha Duda Krall (they/them), from GDQU. Start: 13:00, Q&A: 13:20, End: 13:30
هنا العنوان Speedrunning 101، والمتحدث يُدعى Sasha Duda Krall، من GDQU، ويستخدم الضمائر they/them.
يبدأ الحديث في 13:00، وستكون هناك جلسة أسئلة وأجوبة تبدأ في 13:20، وتنتهي الجلسة كاملة في 13:30.
بما أن الأسماء قد تحتوي على شُرَط عادية -، تُستخدم شُرطة مُطوَّلة – للفصل بين المتحدث واسم الحديث.
بطاقة الإدارة التي يجب أن يولّدها برنامجك لهذا الحديث تبدو هكذا:
- Our next speaker is Sasha Duda Krall, from GDQU
- Their talk is called »Speedrunning 101«
- They will answer your questions in the Q&A session at the end of the talk, starting at 13:20
13:00 - 13:20 - 13:30
قد تبدو القائمة كاملة هكذا:
»Speedrunning 101« – Sasha Duda Krall (they/them), from GDQU. Start: 13:00, Q&A: 13:20, End: 13:30
»How I learned to say Farewell« – Madeline (she/her). Start: 13:40, Q&A: 14:00, End: 14:05
»How To Find a Good Title For Your Conference Talk« – Vítězslav Kruse (he/him). Start: 14:15, End: 14:40
»Why Emoji Matter❣« – Ash van Amelsvoort, from the University of 🧬🧪⚛. Start: 14:50, Q&A: 15:05, End: 15:10
»Can dogs look up?« – Kira "k1ralli" Sørensen. Start: 20:50, Q&A: 21:05, End: 21:10
والبطاقات المقابلة هي:
- Our next speaker is Madeline
- Her talk is called »How I learned to say Farewell«
- She will answer your questions in the Q&A session at the end of the talk, starting at 14:00
13:40 - 14:00 - 14:05
- Our next speaker is Vítězslav Kruse
- His talk is called »How To Find a Good Title For Your Conference Talk«
- There will not be a Q&A session
14:15 - NO Q&A - 14:40
- Our next speaker is Ash van Amelsvoort, from the University of 🧬🧪⚛
- Ash's talk is called »Why Emoji Matter❣«
- Ash will answer your questions in the Q&A session at the end of the talk, starting at 15:05
14:50 - 15:05 - 15:10
- Our next speaker is Kira "k1ralli" Sørensen
- Kira's talk is called »Can dogs look up?«
- Kira will answer your questions in the Q&A session at the end of the talk, starting at 21:05
20:50 - 21:05 - 21:10
إليك بعض الأمور الجديرة بالملاحظة هنا:
أسهل طريقة لفعل ذلك هي استخدام أداة لبناء التعبيرات النمطية مثل regex101 أو RegExr.
!!! warning تأكد من ضبط محرك التعبيرات النمطية/صيغته على $CHANGE_ME.
إن كنت جديدًا على التعبيرات النمطية أو تجد صعوبة في إنشاء تعبير يلتقط كل المعلومات المطلوبة دفعة واحدة، يمكنك أيضًا تعريف عدة تعبيرات أصغر تلتقط أجزاء من المعلومات.
استخدم التعبير من الجزء الأول، ونفّذ دالة تأخذ سطرًا كمدخل، وتلتقط المعلومات منه، وتُرجع بطاقة الإدارة المولّدة وفق المواصفات أعلاه.
ينبغي أن تتوافق حالات الاختبار المستقبلية المحتملة مع الإرشادات التالية:
»«، ولا يحتوي الاسم على فواصل.[a-zA-Z] أو ما شابه ذلك للاسم أو العنوان أو المنظمة من اجتياز الاختبارات.