Exercism पर अपने MoonScript अभ्यासों की टेस्टिंग कैसे करें, यह सीखिए
MoonScript ट्रैक पर टेस्टिंग बिल्कुल Lua ट्रैक पर टेस्टिंग जैसी ही है। किसी अभ्यास की डायरेक्टरी से यह कमांड चलाइए:
$ busted
यह ट्रैक Exercism की टेस्ट-ड्रिवन डेवलपमेंट कार्यप्रणाली का पालन करता है। आपको पूरी टेस्ट सूट दी जाती है, लेकिन सिर्फ पहला टेस्ट ही "सक्रिय" होता है।
टेस्ट चालू करने के लिए किसी टेस्ट का कमांड pending से it में बदल दीजिए।
जिन्हें हर समय सारे टेस्ट चलाना पसंद है, वे किसी कमांड-लाइन टूल की मदद से इन सबको एक साथ बदल सकते हैं। यहाँ perl का इस्तेमाल करते हुए एक उदाहरण दिया गया है (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 लाइब्रेरी।