تُتاح لك فرصة كتابة برمجيات لـ Bracketeer™، حاسوب كبير قديم لكنه قوي. البرمجيات التي تعمل عليه مكتوبة بلغة خاصة. معظم صياغتها مألوفة، لكنك تلاحظ عدداً كبيراً من الأقواس والأقواس المعقوفة والأقواس الهلالية. وعلى الرغم من أن Bracketeer™ قوي، فإنه يفتقر إلى المرونة. إذا احتوى الكود المصدري على أي أقواس أو أقواس معقوفة أو أقواس هلالية غير متوازنة، فسيتعطّل Bracketeer™ وسيلزم إعادة تشغيله. ولتجنّب هذا السيناريو، تبدأ بكتابة كود يستطيع التحقق من توازن الأقواس والأقواس المعقوفة والأقواس الهلالية قبل محاولة تشغيله على Bracketeer™.
بالنظر إلى سلسلة نصية تحتوي على الأقواس المربعة [] أو الأقواس المعقوفة {} أو الأقواس الهلالية ()، أو أي مزيج منها، تحقق من أن جميع الأزواج متطابقة ومتداخلة بشكل صحيح.
ينبغي تجاهل أي أحرف أخرى.
على سبيل المثال، "{what is (42)}?" متوازنة، أما "[text}" فليست كذلك.
هناك طرق عديدة لإنجاز هذا التمرين، لكننا وفّرنا بعض الدوال الهيكلية الإضافية لمن يرغب في التدرّب على كتابة معالجات القدرات الخاصة به.
إن توقيع الدالة المساعدة checkBalance المرفقة بهذا التمرين يستخدم متطلب قدرة هو {Stack}.
القدرة Stack معرّفة لك، أما المعالج Stack.run فليس كذلك!
وإن أردت، يمكنك تنفيذ كل من Stack.run وcheckBalance وisPaired.
ستعمل الاختبارات حتى لو اخترت ألا تنفّذ هذا التمرين باستخدام القدرات.
سجّل في Exercism لتتعلّم وتتقن Unison عبر 53 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.