Exercism-এ আপনার MoonScript অনুশীলনী কীভাবে টেস্ট করবেন, তা জানুন
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-র জন্য একটি নতুন প্যাটার্ন-ম্যাচিং লাইব্রেরি, যা Parsing Expression Grammars (PEGs)-এর উপর ভিত্তি করে তৈরি।
LuaFileSystem অন্তর্নিহিত ডিরেক্টরি স্ট্রাকচার ও ফাইল অ্যাট্রিবিউট অ্যাক্সেস করার একটি পোর্টেবল উপায় দেয়।
ডেটটাইম
তারিখ ও সময়ের স্ট্রিং পার্সিং; সময়ের যোগ ও বিয়োগ; সময়ের ব্যাপ্তির গণনা; ISO 8601 তারিখ সমর্থন করে।
Lua TZ টাইম জোনের সমর্থন-সহ তারিখ ও সময়ের ফাংশন দেয়। মূল ফাংশনগুলোর ইন্টারফেস স্ট্যান্ডার্ড ফাংশন os.date ও os.time-এর মতো, তবে এরা অতিরিক্তভাবে একটি টাইম জোন আর্গুমেন্টও নেয়।
সময় ও তারিখ নিয়ে কাজ করার জন্য একটি Lua লাইব্রেরি।