8th को स्थानीय रूप से इंस्टॉल करना

Exercism के अभ्यास अपनी मशीन पर हल करने के लिए 8th को स्थानीय रूप से इंस्टॉल करना सीखिए


8th इंस्टॉल करना

8th एक ऐसी ZIP फाइल में मिलता है जिसमें सब कुछ शामिल होता है। इस फाइल में उन सभी प्लेटफॉर्म के लिए 8th के वर्शन होते हैं जिन्हें आपने डाउनलोड किया है। 8th के ये वर्शन खास तौर पर आपके लिए लाइसेंस किए गए हैं और इन्हें किसी और के साथ साझा नहीं किया जा सकता।

ज़िप फाइल पाइए

Get 8th पेज से शुरू कीजिए,

  • फॉर्म में अपना नाम और ईमेल भरिए, और Free वर्शन चुनिए। 8th का लाइसेंस स्वीकार करना ज़रूरी है।
  • 8th-dev आपको वेरिफाई करने के लिए एक ईमेल भेजेगा। रजिस्ट्रेशन ईमेल में दिए लिंक पर क्लिक कीजिए।
  • 8th-dev आपके लिए एक अनोखी ज़िप फाइल तैयार करेगा और उसके बारे में एक ईमेल भेजेगा। उस ईमेल में "download here" लिंक देखिए।

इंस्टॉल करना

8th इस्तेमाल करने के लिए आपको ज़िप फाइल को किसी भी ऐसे फोल्डर में अनपैक करना होगा जिस तक आपकी पहुँच हो।

ज़िप में कई फोल्डर शामिल हैं:

फोल्डर विवरण
bin सभी समर्थित प्लेटफॉर्म के लिए 8th एक्ज़ीक्यूटेबल
docs मैनुअल और ट्यूटोरियल
libs 8th की सपोर्ट लाइब्रेरी (8th कोड)
samples ट्यूटोरियल और मैनुअल के पूरक के लिए नमूना कोड
keys 'id.blob', जिसमें आपकी कीज़ और रजिस्ट्रेशन की जानकारी है

Pro+ यूज़र: ध्यान दीजिए कि id.blob में मौजूद एन्क्रिप्शन कीज़ 8th के उस हर वर्शन के लिए अलग होती हैं जिसे आप डाउनलोड करते हैं, और एन्क्रिप्टेड, डिप्लॉय करने लायक ऐप्लिकेशन बनाने के लिए ये ज़रूरी हैं। अगर आप 8th को उसके डिस्ट्रिब्यूशन पैकेज से बाहर ले जाते हैं और उसे id.blob नहीं मिलता, तो 8th -v चलाने पर वह custid: id.blob? बताएगा, यानी यह याद दिलाएगा कि उसे पहचान की जानकारी नहीं मिल रही।

आप चाहे किसी भी प्लेटफॉर्म पर डेवलप करें, आप 8th द्वारा समर्थित किसी भी प्लेटफॉर्म के लिए ऐप्लिकेशन बना सकते हैं।

ज़िप फाइल अनपैक करने के बाद आप 8th को सीधे चला सकते हैं। उदाहरण के लिए, अगर आपने इसे 64-बिट Linux पर /opt/8th में इंस्टॉल किया है, तो आप /opt/8th/bin/lin64/8th को अपनी मर्ज़ी के किसी भी पैरामीटर के साथ टाइप कर पाएँगे, और यह ठीक से काम करेगा। macOS या Windows पर भी ऐसा ही कीजिए।

8th बाइनरी के फोल्डर को अपने सिस्टम के PATH एनवायरनमेंट वेरिएबल में जोड़ने से आप पूरा पाथ टाइप करने के बजाय सीधे 8th टाइप कर पाएँगे।

8th इस्तेमाल करना

8th खुद एक कमांड-लाइन प्रोग्राम है। इसे डेस्कटॉप आइकन पर क्लिक करके शुरू करने के लिए नहीं बनाया गया है। आप इससे सामान्य GUI प्रोग्राम बना सकते हैं, जिन्हें उस तरह क्लिक करके शुरू किया जा सकता है, लेकिन 8th कंपाइलर खुद एक CLI (कमांड-लाइन इंटरफ़ेस) प्रोग्राम है।

अगर आप Windows पर चला रहे हैं और MSys या Cygwin शेल इस्तेमाल कर रहे हैं, तो हो सकता है आपको मुफ्त में उपलब्ध winpty प्रोग्राम भी इस्तेमाल करना पड़े, ताकि आपके कंसोल मोड वाले प्रोग्राम ठीक से काम करें। Windows 10 के हाल के वर्शन में इसकी ज़रूरत नहीं दिखती।

अगर आप MacOS पर चला रहे हैं, तो 8th फोरम की यह थ्रेड पढ़िए।

8th का कमांड-लाइन ऐसा दिखता है:

8th [options] [[-f] file...] [-e 'code'...]

यहाँ [-f] file विकल्प का मतलब है “फाइल की सामग्री को इंटरप्रेट कीजिए”, और -e code का मतलब है “उस खास 8th कोड को इंटरप्रेट कीजिए”। दोनों विकल्प कमांड-लाइन पर एक से ज़्यादा बार दिए जा सकते हैं, और उनका असर जुड़ता जाता है। दूसरे शब्दों में:

8th -f first.8th -f second.8th

यह first.8th फाइल की सामग्री को इंटरप्रेट करेगा और फिर second.8th फाइल की सामग्री को इंटरप्रेट करेगा। ध्यान दीजिए कि अगर आप सिर्फ एक 8th फाइल चलाना चाहते हैं, तो आपको 8th -f first.8th कहने की ज़रूरत नहीं है, आप सीधे 8th first.8th टाइप कर सकते हैं।

8th जो सारे CLI विकल्प समझता है, वे ये हैं:

विकल्प विवरण
-b bin/build यूटिलिटी चलाइए
-D dir homedir को dir पर सेट कीजिए (डिफ़ॉल्ट OS पर निर्भर है)
-e str str स्ट्रिंग को 8th कोड के रूप में इंटरप्रेट कीजिए
-ee str str स्ट्रिंग को 8th कोड के रूप में इंटरप्रेट कीजिए और इसके बाद बंद कीजिए
-f nm nm नाम की फाइल को इंटरप्रेट कीजिए
-g SED डीबग/चेकिंग चालू कीजिए
-G ज़रूरी GL वर्शन सेट कीजिए (जैसे 3.1)
-h मदद दिखाइए
-H N कंसोल हिस्ट्री का आकार N लाइन पर सेट कीजिए (डिफ़ॉल्ट: 100)
-k N डेटा और r-स्टैक का आकार N आइटम पर सेट कीजिए (डिफ़ॉल्ट: 128K)
-l ज़्यादा डीबगिंग जानकारी
-r N कॉलबैक डेटा-स्टैक का आकार N आइटम पर सेट कीजिए (डिफ़ॉल्ट: 256)
-s N रिकर्शन स्टैक का आकार N बाइट पर सेट कीजिए (डिफ़ॉल्ट: 0, यानी सिस्टम-डिफ़ॉल्ट)
-S पाए गए SDL ड्राइवर की सूची दिखाइए और बंद कीजिए
-v 8th का वर्शन प्रिंट कीजिए और बंद कीजिए
-vv -v जैसा ही, लेकिन डीबगिंग के लिए अतिरिक्त जानकारी के साथ
-x स्टैक टाइप और बाउंड्स चेकिंग बंद कीजिए
-z डेटा-आइटम की गिनती चालू कीजिए
-Z -z जैसा, लेकिन इसमें 'debug/allocs' लाइब्रेरी भी शामिल कीजिए
-? nm 'nm' आइटम के लिए मदद प्रिंट कीजिए
-- 8th विकल्पों के अंत का संकेत देता है

आम तौर पर आपको -k, -r या -s विकल्प इस्तेमाल करने की ज़रूरत नहीं पड़ेगी। ये इसलिए दिए गए हैं कि कहीं आपको ये काम के लगें, जैसे अगर एक बार में स्टैक पर 128K आइटम बहुत कम पड़ें (सच कहें तो ऐसा हो तो आपको अपना एल्गोरिदम बदल देना चाहिए...)।

अगर आप देखें कि आप कमांड-लाइन स्विच बार-बार इस्तेमाल कर रहे हैं, तो आप अपनी पसंद के विकल्पों के साथ 8th शुरू करने के लिए “शेल स्क्रिप्ट” (macOS या Linux पर) या “बैच फाइल” (Windows पर; इसे “कमांड फाइल” भी कहते हैं) इस्तेमाल कर सकते हैं।

आप app:datadir फोल्डर में एक 8th सोर्स फाइल भी बना सकते हैं, जिसका नाम settings.8th हो। अगर वह मौजूद हो, तो 8th REPL उसे शुरू होते समय लोड करेगा और इस आशय का संदेश प्रिंट करेगा। सुरक्षा कारणों से, पैकेज किए गए ऐप में उस फाइल को न खोजा जाएगा न लोड किया जाएगा।

8th बंद करने के लिए इनमें से कोई भी तरीका अपनाइए:

  • bye टाइप कीजिए और ENTER दबाइए। इससे 8th सामान्य रूप से बंद हो जाएगा
  • 1 die टाइप कीजिए और ENTER दबाइए। इससे 8th असामान्य रूप से बंद होगा और ऑपरेटिंग सिस्टम को स्टेटस-कोड 1 लौटाएगा
  • Ctrl+C कुंजी को जल्दी-जल्दी दो बार दबाइए, या Ctrl+D एक बार। दोनों में से कोई भी 8th को तुरंत बंद होने का संकेत देता है
  • किसी चल रहे ऐप्लिकेशन में throw चलाने पर एक एक्सेप्शन आएगा। अगर आप 8th कंसोल से चला रहे हैं, तो ज़्यादातर मामलों में आप वहीं लौट आएँगे; अगर आप कोई फाइल या पैकेज किया गया ऐप्लिकेशन चला रहे हैं, तो एक संदेश प्रिंट होगा और ऐप बंद हो जाएगा।

8th प्रोग्राम चलाना

8th आपके प्रोग्राम कई मोड में चला सकता है:

मोड विवरण
interactive बस 8th शुरू कीजिए और कंसोल में अपना कोड टाइप कीजिए
script अपना कोड एक टेक्स्ट फाइल में रखिए और उसे 8th mycode.8th से चलाइए (उदाहरण के लिए)। नीचे दिया टिप देखिए...
app build स्क्रिप्ट (या -b CLI विकल्प) की मदद से अपने कोड को पैकेज किए गए ऐप्लिकेशन में बदलिए

Pro+ यूज़र: आप एन्क्रिप्टेड ऐप्लिकेशन बना सकते हैं, जिससे हैकर और दूसरे बुरे इरादे वाले लोग हतोत्साहित हों

आखिरी दो स्थितियों में आपका कोड प्लेन-टेक्स्ट फाइलों में होना चाहिए (जैसे, वर्ड-प्रोसेसिंग फॉर्मैट में नहीं)। सहायक फाइलें आपके कोड वाले फोल्डर में या उसके किसी सब-फोल्डर में रखी जानी चाहिए। 8th में आप उन दूसरी फाइलों तक app:asset चलाकर पहुँच सकते हैं।

“app” एक स्टैंडअलोन प्रोग्राम है, जो टारगेट प्लेटफॉर्म के किसी भी दूसरे प्रोग्राम की तरह खुद चलता है और इसे 8th द्वारा कमांड-लाइन से चलाने की ज़रूरत नहीं होती। ऊपर बताए अनुसार, हैकरों को हतोत्साहित करने के लिए इसकी सामग्री एन्क्रिप्ट की जा सकती है। स्टैंडअलोन ऐप्लिकेशन बनाने का पूरा ब्यौरा build टूल इस्तेमाल करने वाले भाग में मिलेगा।

टिप: अगर आप macOS, Linux या RPI सिस्टम पर चला रहे हैं, तो आप अपनी स्क्रिप्ट को सामान्य सिस्टम कमांड की तरह चलवा सकते हैं:

  • फाइल को एक्ज़ीक्यूटेबल बनाइए: chmod +x scriptname
  • अपने कोड की पहली लाइन बनाइए: #! /usr/bin/env 8th
  • यह सुनिश्चित कीजिए कि कोई उपयुक्त 8th एक्ज़ीक्यूटेबल आपके PATH में हो

यह पैकेज किए गए appdata के साथ भी काम करेगा, तो अगर आपने bin/build से एक एक्ज़ीक्यूटेबल बनाया है, तो आप उसके बनाए appdata को भी इसी तरह इस्तेमाल कर सकते हैं:

cat - path/to/appdata > newappdata
#! /usr/bin/env 8th<ENTER><CTRL+D>
chmod +x newappdata