تعلّم كيف تختبر تمارين MoonScript على Exercism
الاختبار في مسار MoonScript تمامًا مثل الاختبار في مسار Lua. من داخل مجلد التمرين، أدخل الأمر التالي:
$ busted
يتبع هذا المسار منهجية Exercism في التطوير القائم على الاختبارات. تُمنح لك مجموعة اختبارات كاملة، لكن الاختبار الأول وحده هو «النشط».
لتفعيل الاختبارات، غيّر أمر الاختبار من pending إلى it.
وإذا كنت ممن يحبّون تشغيل كل الاختبارات طوال الوقت، فيمكنك استخدام أداة سطر الأوامر لتغييرها كلها دفعة واحدة. إليك مثالًا باستخدام perl (المثبَّت في كل مكان تقريبًا):
$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon
عندما تعمل في المحرر على الإنترنت، سيشغّل مشغّل الاختبارات كل الاختبارات تلقائيًا.
Lua في ذاتها لغة صغيرة جدًا. وLuaRocks هو مدير الحزم الخاص بوحدات Lua.
لك مطلق الحرية في استخدام أي وحدة في حلولك، لكن ليس كلها سيكون متاحًا في مشغّل الاختبارات على الإنترنت. يوفّر مشغّل الاختبارات ما يلي:
متاحة مسبقًا كاعتماديات لـ busted
Penlight مجموعة من مكتبات Lua الصِّرفة التي تسهّل التعامل مع المهام الشائعة مثل التنقل بين المجلدات وقراءة ملفات الإعدادات وما شابه ذلك. وتوفّر عمليات دالية على الجداول والمتتاليات.
dkjson وحدة لترميز بيانات JSON وفك ترميزها.
متاحة مسبقًا كاعتماديات لـ MoonScript
LPeg مكتبة جديدة لمطابقة الأنماط في Lua، مبنية على قواعد تعبيرات التحليل (PEGs).
LuaFileSystem (الصفحة الرئيسية)
توفّر LuaFileSystem طريقة محمولة للوصول إلى بنية المجلدات وسمات الملفات الأساسية.
التاريخ والوقت
تحليل السلاسل النصية للتاريخ والوقت؛ جمع الوقت وطرحه؛ حساب المدى الزمني؛ يدعم تواريخ ISO 8601.
توفّر Lua TZ دوالً للتاريخ والوقت مع دعم المناطق الزمنية. وللدوال الأساسية واجهة شبيهة بالدوال القياسية
os.dateوos.time، لكنها تقبل كذلك وسيطًا للمنطقة الزمنية.
مكتبة Lua لمعالجة الوقت والتاريخ.