یاد بگیرید چگونه تمرینهای 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 است که بر پایهی گرامرهای عبارات تجزیهای (PEGها) ساخته شده است.
LuaFileSystem راهی قابلحمل برای دسترسی به ساختار پوشهها و ویژگیهای فایل ارائه میدهد.
تاریخ و زمان
تجزیهی رشتهی تاریخ و زمان؛ جمع و تفریق زمان؛ محاسبهی بازهی زمانی؛ پشتیبانی از تاریخهای ISO 8601.
Lua TZ توابع تاریخ و زمان را با پشتیبانی از منطقهی زمانی فراهم میکند. توابع اصلی رابطی شبیه به توابع استاندارد os.date و os.time دارند، اما علاوه بر آن یک آرگومان منطقهی زمانی هم میپذیرند.
کتابخانهای Lua برای کار با زمان و تاریخ.