Exercism के अभ्यास अपने कंप्यूटर पर हल करने के लिए Pharo इंस्टॉल करना सीखिए।
Pharo इंस्टॉल करने का सबसे आसान तरीका यह है कि टर्मिनल कमांड लाइन से zero conf डाउनलोड का उपयोग किया जाए।
ध्यान दें: अगर आप किसी मौजूदा इंस्टॉलेशन को अपग्रेड करने की कोशिश कर रहे हैं, तो अपग्रेड निर्देश देखिए।
जिन Windows उपयोगकर्ताओं के पास UNIX शैली की शेल इंस्टॉल नहीं है, उन्हें नीचे दिए गए Windows इंस्टॉलेशन निर्देशों पर जाना चाहिए।
अधिक अनुभवी Linux उपयोगकर्ता Linux हैकर्स इंस्टॉलेशन देखना चाह सकते हैं।
Linux/OSX के लिए (यह मानते हुए कि आपने Exercism इंस्टॉल कर लिया है और Pharo ट्रैक join कर लिया है), अपनी /Exercism/pharo-smalltalk डायरेक्टरी में जाइए और यह टाइप कीजिए:
curl https://get.pharo.org/64/ | bash
और नीचे दिया गया "load script" पेस्ट करके exercism टूल्स के साथ Pharo शुरू कीजिए:
./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
"
अगर टूल्स लोड करते समय आपको TIMEOUT से जुड़ी कोई समस्या आती है, तो Pharo बंद कीजिए और यह टाइप करके git कैश साफ़ कीजिए:
rm -rf pharo-local/iceberg/
और फिर ऊपर दिया गया ./pharo-ui ... वाला उदाहरण दोहराइए।
अगर समस्या बनी रहती है, तो Pharo Community पेज पर बताए गए Pharo Discord चैनल पर जाइए।
अगर सब कुछ ठीक से काम कर रहा है, तो आपको स्क्रीन पर लोडिंग प्रोग्रेस बार झलकते दिखेंगे, और फिर एक System Browser विंडो खुलेगी।
सुझाव: जब आप Pharo बंद करें, तो अपने बदलाव सेव कीजिए (Pharo मेन्यू चुनिए और "Save and Quit" चुनिए)। अब आप सीधे यह टाइप करके Exercism पहले से लोड किए हुए Pharo शुरू कर सकते हैं:
./pharo-ui Pharo.image
हम अभी यह तय कर रहे हैं कि Windows के लिए कमांड लाइन टूल की सबसे अच्छी पूर्व-आवश्यकताएँ क्या हैं, लेकिन आप Windows Pharo Launcher की मदद से Pharo को ग्राफ़िकल तरीके से भी इंस्टॉल कर सकते हैं (कई Pharo इमेज प्रबंधित करने का एक उपयोगी टूल)। अगर आपको GUI पसंद है, तो यह launcher OSX और Linux के लिए भी उपलब्ध है।
Pharo Launcher इंस्टॉल करने के लिए डाउनलोड की गई .msi फ़ाइल चलाइए।
Pharo launcher चलाइए।
ऊपर बाएँ कोने में "New" पर क्लिक कीजिए।
विंडो में template categories से "Official distributions" चुनिए।
Exercism अभ्यासों के लिए, Pharo इमेज टेम्पलेट की सूची से नवीनतम स्थिर रिलीज़ चुनिए (फ़िलहाल "Pharo 10.0 64-bit (stable)" सुझाया गया है)।
किसी इमेज टेम्पलेट पर क्लिक करके उसे हाइलाइट कीजिए, उसे एक नाम दीजिए, और फिर नीचे दिए गए create image बटन पर क्लिक कीजिए (नारंगी cog के आकार का)।

टेम्पलेट डाउनलोड हो जाने पर वह दाईं ओर Existing Images टेबल में दिखेगा। उस पर क्लिक कीजिए, और फिर ऊपर दिए गए launch बटन पर क्लिक कीजिए (हरे रंग का play तीर)।

Pharo इमेज शुरू हो जाने पर Browse मेन्यू चुनकर और Playground चुनकर एक Playground खोलिए, या
ctrl + o + w का उपयोग कीजिए।

अंत में, नीचे दिया गया स्निपेट कॉपी करके playground में पेस्ट कीजिए:
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
फिर पेस्ट किए गए कोड को पूरा हाइलाइट करके, राइट क्लिक करके और मेन्यू से Do it चुनकर उसे evaluate कीजिए (या ctrl + d का उपयोग कीजिए)।
अगर सब कुछ ठीक से काम कर रहा है, तो आपको स्क्रीन पर लोडिंग प्रोग्रेस बार झलकते दिखेंगे, और फिर एक System Browser विंडो खुलेगी।
जब आप Pharo शुरू करते हैं, तो आपको एक Welcome प्रोजेक्ट दिखेगा, जो एक System Browser में होगा (सुझाव: अगर यह विंडो कभी खो जाए, तो आप Tools|System Browser मेन्यू से नई विंडो खोल सकते हैं)।

System browser के ऊपर बाएँ हाथ वाले पैनल में आपके वातावरण के पैकेज दिखते हैं, और आप देखेंगे कि इंस्टॉल स्क्रिप्ट ने पहले ही Exercism नाम का एक पैकेज बना दिया है, जिसमें Welcome नाम का एक सब-प्रोजेक्ट टैग है। दूसरे पैनल में क्लास दिखती हैं, जिसमें Welcome नाम की एक क्लास भी है। क्लास वाले पैनल के नीचे 4 रेडियो बटन हैं, "Flat" (पैकेज की क्लास दिखाता है), "Hier." (क्लास पदानुक्रम दिखाता है), "Inst. side" (इंस्टेंस मेथड दिखाता है), "Class side" (क्लास मेथड/कंस्ट्रक्टर दिखाता है)।
अगर आप Comment टैब पर क्लिक करते हैं, तो आप Pharo Exercism के उपयोग के नवीनतम निर्देश देख सकते हैं। टिप्पणियाँ पढ़िए और अपना पहला टेस्ट चलाकर देखिए।
दूसरी फ़ाइल-आधारित भाषाओं में आप आम तौर पर इस समय टर्मिनल पर जाकर अगला अभ्यास लाने के लिए exercism cli का उपयोग करते। Pharo भी फ़ाइलों के साथ कुछ हद तक वैसे ही काम कर सकता है, लेकिन यह वातावरण असल में लाइव ऑब्जेक्ट के साथ काम करने के लिए बना है। दिलचस्प बात यह है कि Pharo में क्लास, मेथड और सोर्स कोड भी बाकी सब चीज़ों की तरह ही ऑब्जेक्ट हैं। इस ट्रैक के दौरान आप इस बारे में और सीखेंगे।
Exercism के लिए हमने एक प्लगइन शामिल किया है, जिससे आप IDE के अंदर से ही Pharo अभ्यास ला सकते हैं और सबमिट कर सकते हैं।
आपको बस एक अभ्यास पैकेज पर राइट क्लिक करना है (यहाँ ऊपर बाएँ पैनल वाला Welcome पैकेज) और Exercism | Fetch Exercise मेन्यू आइटम चुनना है। इस पर आपसे अभ्यास का नाम पूछा जाएगा (जैसे hello-world), और नाम डालते ही यह उसे अपने आप ला देगा।
अभ्यासों के नाम आपके Pharo ट्रैक पेज पर हर अभ्यास के विवरण में मिल जाएँगे (सबसे दाईं ओर)। वहाँ एक Download निर्देश होता है, जिसके साथ एक cli स्ट्रिंग होती है जिसमें हर अभ्यास की key होती है। आप cli निर्देशों के बगल वाला copy बटन इस्तेमाल करके पूरी स्ट्रिंग fetch प्रॉम्प्ट में पेस्ट भी कर सकते हैं (और हम key अपने आप निकाल लेंगे)।
जब आप कोई मान्य अभ्यास डाल देते हैं, तो प्लगइन उससे जुड़ा कोड लाकर System Browser में दिखा देगा, और आप टेस्ट के साथ कोडिंग शुरू करने के लिए तैयार हो जाएँगे।
जब आपके सारे टेस्ट पास हो जाएँ, तो आप अपने अभ्यास पैकेज के उसी कॉन्टेक्स्ट मेन्यू से अपना हल सबमिट कर सकते हैं (पैकेज टैग पर राइट क्लिक कीजिए और Exercism | Submit Exercise... चुनिए)

अंत में, Exercism | View Track Progress मेन्यू का उपयोग करके exercism वेबसाइट पर जाइए और देखिए कि आपके लिए कौन से दूसरे अभ्यास unlock हो चुके हैं, साथ ही अपने सबमिशन के बारे में सवाल भी पोस्ट कीजिए ताकि मेंटर उन्हें पढ़ सकें।
क्या आप जानते हैं: जब आप Pharo शुरू करते हैं, तो असल में आप एक execution image snapshot बहाल कर रहे होते हैं, जो VMWare के ऑपरेटिंग सिस्टम इमेज जैसा होता है। यह एक शक्तिशाली अवधारणा है जो आपको काम बीच में ही रोककर रखने देती है, कभी-कभी डिबगिंग करते समय भी। अगली बार Pharo फिर से शुरू करने पर आप बहाल किए गए डिबगर में कोड को कदम-दर-कदम चलाना जारी रख सकते हैं, या रिफ़ैक्टरिंग का कोई चरण आगे बढ़ा सकते हैं।
अगर किसी सुरक्षा समस्या के कारण आपको कभी अपना CLI टोकन रीसेट करना पड़े, तो अपने Exercism Settings Page पेज पर जाइए और reset token बटन का उपयोग कीजिए। ऐसा करने के बाद, आपको Playground में नीचे दिया गया कोड evaluate करके Pharo Exercism में अपना पुराना टोकन साफ़ करना होगा:
ExercismHttpClient
reset;
promptForToken.
समय-समय पर हमें आपके Pharo Exercism इमेज की लाइब्रेरी अपडेट करानी पड़ सकती है। कृपया इन निर्देशों का पालन कीजिए