Tanuld meg, hogyan telepítsd helyben a 8th nyelvet, hogy a saját gépeden oldd meg az Exercism feladatait
A 8th egy mindent tartalmazó ZIP-fájlban érhető el, amely a letöltött verzió által támogatott összes platformhoz tartalmazza a 8th verzióit. A 8th-hoz tartozó verziók kifejezetten a te nevedre szólnak, és nem oszthatók meg másokkal.
A 8th letöltése oldalról kiindulva
A 8th használatához ki kell csomagolnod a ZIP-fájlt egy általad elérhető mappába.
A ZIP-fájl több mappát tartalmaz:
| mappa | leírás |
|---|---|
| bin | a 8th futtatható fájljai az összes támogatott platformhoz |
| docs | A kézikönyv és az útmutatók |
| libs | A 8th támogató könyvtárai (8th-kód) |
| samples | Példakód az útmutatók és a kézikönyv kiegészítéséhez |
| keys | Az 'id.blob', amely a kulcsaidat és a regisztrációs adataidat tartalmazza |
Pro+ felhasználók: jegyezd meg, hogy az id.blob-ban lévő titkosítási kulcsok minden egyes letöltött 8th-verziónál egyediek, és fontosak a titkosított, élesíthető alkalmazások létrehozásához. Ha kimozgatod a 8th-ot a terjesztési csomagjából, és nem találja az id.blob fájlt, akkor a 8th -v kiadásakor a custid: id.blob? üzenetet írja ki emlékeztetőül, hogy nem találja az azonosítási információkat.
Nem számít, melyik platformon fejlesztesz: a 8th által támogatott bármely platformra készíthetsz alkalmazásokat.
Miután kicsomagoltad a ZIP-fájlt, közvetlenül futtathatod a 8th-ot. Ha például 64 bites Linuxon a /opt/8th mappába telepítetted, akkor beírhatod a /opt/8th/bin/lin64/8th parancsot tetszőleges paraméterekkel, és rendben le kell futnia. macOS-en vagy Windowson ugyanígy járj el.
Ha hozzáadod a 8th bináris fájljának mappáját a rendszered PATH környezeti változójához, egyszerűen csak beírhatod, hogy 8th, a teljes elérési út helyett.
A 8th maga egy parancssori program, amelyet nem asztali ikonra kattintva indítasz el. Készíthetsz vele hagyományos grafikus felületű programokat is, amelyek így indíthatók, de maga a 8th fordító egy CLI (parancssori felület) program.
Ha Windowson futtatod, és MSys vagy Cygwin shellt használsz, akkor előfordulhat, hogy a szabadon elérhető winpty programra is szükséged lesz ahhoz, hogy a konzolmódban futó programok megfelelően működjenek. A Windows 10 újabb verziói úgy tűnik, nem igénylik ezt.
Ha MacOS-t használsz, olvasd el ezt a 8th fórumtémát.
A 8th parancssora így néz ki:
8th [options] [[-f] file...] [-e 'code'...]
A [-f] file opció azt jelenti, hogy „értelmezd a fájl tartalmát”, a -e code pedig azt, hogy „értelmezd ezt a konkrét 8th-kódot”. Mindkét opció többször is megadható a parancssorban, és a hatásuk összeadódik. Más szóval:
8th -f first.8th -f second.8th
értelmezi a first.8th fájl tartalmát, majd a second.8th fájl tartalmát. Ha csak egyetlen 8th-fájlt szeretnél futtatni, nem kell azt írnod, hogy 8th -f first.8th, elég egyszerűen beírni, hogy 8th first.8th.
Íme a 8th által ismert összes CLI-opció:
| opció | leírás |
|---|---|
| -b | A bin/build segédprogram meghívása |
| -D dir | a homedir beállítása dir értékre (az alapértelmezés az operációs rendszertől függ) |
| -e str | A str string értelmezése 8th-kódként |
| -ee str | A str string értelmezése 8th-kódként, majd kilépés |
| -f nm | Az nm nevű fájl értelmezése |
| -g | A SED hibakeresés/ellenőrzés engedélyezése |
| -G | A szükséges GL-verzió beállítása (pl. 3.1) |
| -h | A súgó megjelenítése |
| -H N | A konzol előzményeinek méretének beállítása N sorra (alapértelmezés: 100) |
| -k N | Az adat- és r-verem méretének beállítása N elemre (alapértelmezés: 128K) |
| -l | Több hibakeresési információ |
| -r N | A visszahívási adatverem méretének beállítása N elemre (alapértelmezés: 256) |
| -s N | A rekurziós verem méretének beállítása N bájtra (alapértelmezés: 0, ami a rendszer alapértelmezését jelenti) |
| -S | A felismert SDL-illesztőprogramok listázása, majd kilépés |
| -v | A 8th verziójának kiírása, majd kilépés |
| -vv | Ugyanaz, mint a -v, de további információkkal a hibakereséshez |
| -x | A verem típus- és határellenőrzésének kikapcsolása |
| -z | Az adatelemek számlálásának bekapcsolása |
| -Z | Mint a -z, de tartalmazza a 'debug/allocs' könyvtárat is |
| -? nm | Az 'nm' elem súgójának kiírása |
| -- | A 8th opciók végét jelzi |
Általában nem kell használnod a -k, -r vagy -s opciót; csak arra az esetre vannak, ha hasznosnak találod őket, például ha egyszerre túl kevés a 128K elem a veremben (őszintén szólva, ha ez a helyzet, inkább az algoritmusodon kellene változtatnod...).
Ha gyakran használsz parancssori kapcsolókat, egyszerűen készíthetsz egy „shell-szkriptet” (macOS-en vagy Linuxon) vagy egy „batch fájlt” (Windowson; más néven „command file”), hogy a kedvenc opcióiddal indítsd a 8th-ot.
Készíthetsz egy 8th forrásfájlt az app:datadir mappában settings.8th néven is. Ha ott van, a 8th REPL induláskor betölti, és erről üzenetet ír ki. Biztonsági okokból egy csomagolt alkalmazásban ezt a fájlt nem keresi és nem tölti be.
A 8th kilépéséhez a következők bármelyikét teheted:
bye, és nyomd meg az ENTER billentyűt. Ez normálisan kilépteti a 8th-ot1 die, és nyomd meg az ENTER billentyűt. Ez rendellenesen kilépteti a 8th-ot, és az 1-es státuszkódot adja vissza az operációs rendszernekthrow meghívása kivételt vált ki. Ha a 8th konzoljából futtatsz, a legtöbb esetben oda kerülsz vissza; ha egy fájlt vagy egy csomagolt alkalmazást futtatsz, egy üzenet jelenik meg, és az alkalmazás leáll.A 8th több módban is futtathatja a programjaidat:
| mód | leírás |
|---|---|
| interaktív | egyszerűen indítsd el a 8th-ot, és írd be a kódodat a konzolba |
| szkript | tedd a kódodat egy szövegfájlba, és futtasd például a 8th mycode.8th paranccsal. Lásd az alábbi tippet... |
| app | alakítsd a kódodat csomagolt alkalmazássá a build szkripttel (vagy a -b CLI-opcióval) |
Pro+ felhasználók: készíthetsz titkosított alkalmazásokat, hogy távol tartsd a hackereket és más rosszindulatú feleket
Az utóbbi két esetben a kódodnak egyszerű szöveges fájlokban kell lennie (pl. nem szövegszerkesztő formátumában). A kiegészítő fájlokat a kódoddal azonos mappába vagy annak egy almappájába helyezd. Ezeket a további fájlokat a 8th-ban az app:asset meghívásával érheted el.
Az „app” egy önálló program, amely a célplatform bármely más programjához hasonlóan magától fut, és nem kell a 8th-nak parancssorból futtatnia. A tartalma a fent említettek szerint titkosítható a hackerek távoltartása érdekében. Az önálló alkalmazások készítésének részleteit a build eszköz használatáról szóló részben találod.
Tipp: ha macOS-en, Linuxon vagy RPI-rendszereken futtatsz, elérheted, hogy a szkripted úgy fusson, mint egy hagyományos rendszerparancs:
chmod +x scriptname
#! /usr/bin/env 8th
Ez csomagolt appdata esetén is működik, így ha a bin/build segítségével hoztál létre egy futtatható fájlt, az általa létrehozott appdata-t ugyanígy használhatod:
cat - path/to/appdata > newappdata
#! /usr/bin/env 8th<ENTER><CTRL+D>
chmod +x newappdata