Tanuld meg, hogyan telepítsd a Pharót helyben, hogy a saját gépeden oldhasd meg az Exercism feladatait
A Pharo telepítésének legegyszerűbb módja, ha a terminál parancssorából egy zero conf letöltést használsz.
Megjegyzés: ha egy meglévő telepítést szeretnél frissíteni, nézd meg a frissítési útmutatót.
Ha Windows-t használsz, és nincs UNIX-stílusú shell telepítve, ugorj a Windows telepítés részre (lent).
A gyakorlottabb Linux-felhasználóknak érdemes lehet megnézniük a Linux Hackers telepítést.
Linux/OSX esetén (feltéve, hogy telepítetted az Exercism-öt, és csatlakoztál a Pharo kurzushoz), lépj a /Exercism/pharo-smalltalk könyvtárba, és írd be:
curl https://get.pharo.org/64/ | bash
majd indítsd el a Pharót az Exercism eszközökkel úgy, hogy beilleszted a következő „load scriptet":
./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
"
Ha bármilyen TIMEOUT-problémád adódik az eszközök betöltése közben, lépj ki a Pharo-ból, és töröld a git gyorsítótárat az alábbi beírásával:
rm -rf pharo-local/iceberg/
Utána ismételd meg a fenti ./pharo-ui ... példát.
Ha továbbra is problémákba ütközöl, keresd fel a Pharo Community oldalon leírt Pharo Discord-csatornát.
Ha minden megfelelően működik, betöltési folyamatjelző sávok villognak a képernyőn, majd megjelenik egy System Browser ablak.
TIPP: Amikor kilépsz a Pharóból, mentsd el a változtatásaidat (válaszd a Pharo menüt, majd a „Save and Quit" pontot). Mostantól egyszerűen elindíthatod a Pharót úgy, hogy az Exercism már be van töltve, csak írd be:
./pharo-ui Pharo.image
Még dolgozunk azon, hogy kitaláljuk a legjobb parancssori eszköz-előfeltételeket Windowshoz, de a Pharót grafikusan is telepítheted a Windows Pharo Launcher segítségével (hasznos eszköz több Pharo image kezeléséhez). Ez a launcher elérhető OSX-hez és Linuxhoz is, ha a grafikus felületet kedveled.
Futtasd a letöltött .msi fájlt a Pharo Launcher telepítéséhez.
Indítsd el a Pharo Launchert.
A bal felső sarokban kattints a „New" gombra.
Az ablakban válaszd az „Official distributions" lehetőséget a sablonkategóriák közül.
Az Exercism feladataihoz válaszd a Pharo image-sablonok listájából a legutóbbi stabil kiadást (jelenleg a „Pharo 10.0 64-bit (stable)" az ajánlott).
Kattints egy image-sablonra a kijelöléséhez, adj neki nevet, majd kattints alul a create image gombra (narancssárga fogaskerék alakú).

Miután a sablon letöltődött, megjelenik jobb oldalon az Existing Images táblázatban. Kattints rá, majd kattints felül az indítás gombra (egy zöld play nyíl).

Miután a Pharo image elindult, nyiss egy Playgroundot úgy, hogy a Browse menüben a Playground pontot választod, vagy használd a
ctrl + o + w billentyűkombinációt.

Végül másold be a következő kódrészletet a playgroundba:
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
Ezután értékeld ki a beillesztett kódot úgy, hogy az egészet kijelölöd, jobb gombbal kattintasz, majd a menüből a Do it pontot választod (vagy használd a ctrl + d billentyűkombinációt).
Ha minden megfelelően működik, betöltési folyamatjelző sávok villognak a képernyőn, majd megjelenik egy System Browser ablak.
Amikor elindítod a Pharót, egy Welcome projektet látsz majd egy System Browserben (tipp: ha valaha is elveszíted ezt az ablakot, a Tools|System Browser menüből nyithatsz újat).

A System Browser bal felső panelje a környezetedben lévő csomagokat mutatja, és észre fogod venni, hogy a telepítő szkript már beállított egy Exercism nevű csomagot, amely tartalmaz egy Welcome nevű alprojekt-címkét. A második panel az osztályokat mutatja, itt is van egy Welcome nevű osztály. Az osztályok panelje alatt 4 rádiógomb található: „Flat" (a csomagban lévő osztályokat mutatja), „Hier." (osztályhierarchiát mutat), „Inst. side" (instance metódusokat mutat), „Class side" (osztálymetódusokat/konstruktorokat mutat).
Ha a Comment fülre kattintasz, láthatod a Pharo Exercism használatára vonatkozó legfrissebb útmutatást. Olvasd el a megjegyzéseket, és próbáld meg lefuttatni az első tesztedet.
Más, fájlalapú nyelveknél ezen a ponton általában a terminálra ugranál, és az Exercism CLI segítségével töltenéd le a következő feladatot. Bár a Pharo hasonló módon tud fájlokkal dolgozni, a környezet valójában az élő objektumokkal való munkára van hangolva. Az osztályok, metódusok és a forráskód érdekes módon mind objektumok, akárcsak minden más a Pharóban. Erről a kurzus során még sokat tanulsz majd.
Az Exercism-höz készítettünk egy bővítményt, amellyel közvetlenül az IDE-ből tölthetsz le és küldhetsz be Pharo-feladatokat.
Mindössze annyit kell tenned, hogy jobb gombbal kattintasz egy feladatcsomagra (ebben az esetben a bal felső panelen lévő Welcome csomagra), és kiválasztod az Exercism | Fetch Exercise menüpontot. Ekkor a rendszer bekéri a feladat nevét (pl. hello-world), és amint megadod, automatikusan le is tölti.
A feladatneveket az egyes feladatok leírásában találod a Pharo kurzus oldaladon (a jobb szélen). Van egy Download utasítás egy cli-sztringgel, amely tartalmazza az adott feladat kulcsát. Használhatod a cli-utasítások melletti másolás gombot is, és beillesztheted a teljes sztringet a bekérő mezőbe (a kulcsot automatikusan kinyerjük).
Amikor érvényes feladatot adtál meg, a bővítmény letölti a hozzá tartozó kódot, és megjeleníti a System Browserben, így elkezdheted a kódolást tesztekkel.
Amikor minden teszted sikeres, beküldheted a megoldásodat ugyanazzal a helyi menüvel a feladatcsomagra (jobb gombbal kattints a csomagcímkére, és válaszd az Exercism | Submit Exercise... pontot).

Végül az Exercism | View Track Progress menüponttal felkeresheted az Exercism weboldalát, ahol láthatod, milyen további feladatok oldódtak fel számodra, és kérdéseket is feltehetsz a beküldésedről, hogy a mentorok elolvassák.
Tudtad? Amikor elindítod a Pharót, valójában egy végrehajtási image-pillanatképet állítasz vissza, ami hasonló egy VMWare operációsrendszer-image-hez. Ez egy erőteljes fogalom, amely lehetővé teszi, hogy félbe szakítsd a munkát egy művelet közben, akár hibakeresés közben is. Amikor legközelebb újraindítod a Pharót, folytathatod a kód léptetését a visszaállított debuggerben, vagy egy refaktorálási lépést.
Ha biztonsági okból valaha vissza kell állítanod a CLI-tokenet, keresd fel az Exercism beállítások oldaladat, és használd a token visszaállítása gombot. Ezután törölnöd kell a régi tokent a Pharo Exercism-ben úgy, hogy a következő kódot kiértékeled egy Playgroundban:
ExercismHttpClient
reset;
promptForToken.
Időről időre szükség lehet rá, hogy frissítsd a Pharo Exercism image-ben lévő könyvtárakat. Kérünk, kövesd ezeket az utasításokat.