--- sidebar_position: 4 description: Az Astro Lang környezete --- # Környezet --- ## Alapfunkciók |Név|Leírás|Használat|Példa| |---|---|---|---| |ugass|Kíírja a megadott értékeket.|`ugass(...)`|`ugass(6,7,szaft"test"szaft)`| |bimba|Várakozik adott ideig (miliszekundum-ban).|`ugass(ms: number)`|`bimba(1000)`| |csömör|Hibával befejezi a programot.|`csömör(error: string)`|`csömör(szaft"Sikertelen: Sikeresen befejezve!"szaft)`| |tarh|Kíírja, hogy a megadott érték milyen típusú.|`tarh(object: any): string`|`tarh(82)`| |bimbabemb|Átalakítja a megadott érétk típusát, ha lehetséges.|`bimbabemb(object: any, target: string): any`|`bimbabemb(7,szaft"string"szaft)`| |mennyi az idő|Visszaadja a pillanatnyi UNIX időt milisec-ben.|`mennyi az idő(): number`|`mennyi az idő()`| |joink|Bekér egy szöveget a terminálból.|`joink(): string`|`joink()`| --- ## Nerd (Math) Matematikai funkciók :::tip A példák elé kell írni a kulcsszót: `nerd` Példa: `nerd.abs` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |abs|Visszaadja a megadott érték abszolút értékét.|`abs(n: number): number`|`abs(-2)`| |kerek|Visszaadja a megadott érték kerekített értékét. Irányok: `fel, le, közel`|`kerek(n: number, direction: string): number`|`kerek(1.2, szaft"fel"szaft)`| |sin|Visszaadja a megadott érték szinusz értékét.|`sin(n: number): number`|`sin(0)`| |cos|Visszaadja a megadott érték koszinusz értékét.|`cos(n: number): number`|`cos(90)`| |tan|Visszaadja a megadott érték tangens értékét.|`tan(n: number): number`|`tan(0)`| |sqrt|Visszaadja a megadott érték gyökét.|`sqrt(n: number): number`|`sqrt(-2)`| |legnagyobb|Visszaadja a megadott értékek közül a legnagyobbat.|`legnagyobb(...: number): number`|`legnagyobb(1,2,3)`| |legkisebb|Visszaadja a megadott értékek közül a legkisebbet.|`legkisebb(...: number): number`|`legkisebb(1,2,3)`| |pi|A pi értékét tárolja.|`pi: number`|`pi`| --- ## Szaft (String) Szöveggel lévő funkciók :::tip A példák elé kell írni a kulcsszót: `szaft` Példa: `szaft.csemerd fel` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |csemerd fel|Visszaadja a megadott szöveget végig nagy betűkkel.|`csemerd fel(s: string): string`|`csemerd fel(szaft"TeSt"szaft)`| |csemerd le|Visszaadja a megadott szöveget végig kis betűkkel.|`csemerd le(s: string): string`|`csemerd le(szaft"TeSt"szaft)`| |hossz|Visszaadja a megadott szöveg hosszát.|`hossz(s: string): number`|`hossz(szaft"test"szaft)`| |ismételd|A megadott szöveget `n` szer ismételve adja vissza.|`ismételd(s: string, n: number): string`|`ismételd(szaft"test"szaft, 3)`| |uno reverse|A megadott szöveget fordítva adja vissza.|`uno reverse(s: string): string`|`uno reverse(szaft"test"szaft)`| |darabos|Visszaadja a megadott szöveg egy darabját.|`darabos(s: string, start: number, end: number): string`|`darabos(szaft"test"szaft, 0, 1)`| |keres|Megnézi, hogy a megadott szövegben megtalálható-e a másik szöveg.|`keres(s: string, find: string): boolean`|`keres(szaft"test"szaft,szaft"st"szaft)`| |átrak|A megadott szövegben kicseréli a másik szöveget egy harmadikkal.|`átrak(s: string, from: string, to: string): string`|`átrak(szaft"test"szaft,szaft"st"szaft,szaft"bemb"szaft)`| |számmá|A megadott szövegben az `n`-edik karakter szám megfelelőjét adja vissza.|`számmá(s: string, n: number): number`|`számmá(szaft"test"szaft,0)`| |betűvé|A megadott szám betű megfelelőjét adja vissza.|`átrak(n: number): string`|`átrak(65)`| --- ## Tábla (Table) Táblákkal lévő funkciók :::tip A példák elé kell írni a kulcsszót: `tábla` Példa: `tábla.hozzáad` ::: :::warning A funkciók végeredményét ajánlott beleírni a táblába, mert ez nem történik meg alapból. Példa: `a = tábla.hozzáad(a, 7)` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |hozzáad|Hozzáad egy értéket egy táblához.|`hozzáad(t: table, value: any): table`|`hozzáad({1,2,3}, 7)`| |töröl|Töröl egy értéket a táblából.|`töröl(t: table, n: number): table`|`töröl({1,2,3}, 0)`| |kulcsok|Visszaadja a tábla kulcsait egy másik táblában.|`kulcsok(t: table): table`|`kulcsok({1,2,3})`| |hossz|Visszaadja a tábla hosszát.|`hossz(t: table): number`|`hozzáad({1,2,3})`| --- ## Szenvedés (Process) A feladattal kapcsolatos funkciók :::tip A példák elé kell írni a kulcsszót: `szenvedés` Példa: `szenvedés.vége` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |vége|Befejezi a programot egy kilépő kóddal.|`vége(n: number)`|`vége(0)`| --- ## Kábel (Net) A nettel kapcsolatos funkciót :::tip A példák elé kell írni a kulcsszót: `kábel` Példa: `kábel.halgass` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |halgass|Hallgat egy porton.|`halgass(host: string, port: number): halgató`|`halgass(szaft"0.0.0.0"szaft,1010)`| |kapcsolódj|Rákapcsolódik egy célra.|`kapcsolódj(target: string): kapcsolat`|`kapcsolódj(szaft"example.com:80"szaft)`| :::warning Ezek a funkciók kérik, hogy az első értékük a szülő táblájuk legyen ::: ### Halgató: |Név|Leírás|Használat|Példa| |---|---|---|---| |kérés|Várakozik egy kérésre, majd visszaadja azt.|`kérés(listener: halgató): kapcsolat`|`kérés(listener)`| ### Kapcsolat: |Név|Leírás|Használat|Példa| |---|---|---|---| |olvass|Beleolvas a kapcsolatba.|`olvass(stream: kapcsolat, len: number): string`|`olvass(stream, 1024)`| |írj|Beleír a kapcsolatba.|`írj(stream: kapcsolat, data: string)`|`írj(stream, szaft"Hello from ASL!"szaft)`| |zár|Bezárja a kapcsolatot.|`zár(stream: kapcsolat)`|`zár(stream)`| --- ## Intéző (Filesystem) Fájlokkal lévő funkciók :::tip A példák elé kell írni a kulcsszót: `intéző` Példa: `intéző.létezik` ::: :::warning A fájlok, helyét bárhogy megadhatod, viszont a törlésnél légy óvatos! A fájl írása felülírja a már fájlban lévő adatokat! ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |létezik|Megnézi, hogy létezik-e az elérési út.|`létezik(path: string): boolean`|`létezik(szaft"test.asl"szaft)`| |infó|Lekéri a metaadatokat az adott elérési útból.|`infó(path: string): table`|`infó(szaft"test.asl"szaft)`| |mappít|Létrehozza a mappákat, hogy elérje az elérési útat.|`mappít(path: string)`|`mappít(szaft"test1/test2/"szaft)`| |mappát töröl|Kitöröl egy mappát.|`mappát töröl(path: string)`|`mappát töröl(szaft"test1/"szaft)`| |fájlt töröl|Kitöröl egy fájlt.|`fájlt töröl(path: string)`|`fájlt töröl(szaft"compiled.asx"szaft)`| |olvass|Beolvas egy fájlt.|`olvass(path: string): string`|`olvass(szaft"test.asl"szaft)`| |írj|Beleírja egy fájlba a kapott adatokat.|`írj(path: string, data: string)`|`írj(szaft"test.txt"szaft, szaft"Hello from ASL!"szaft)`| --- ## Krumpli (Coroutine) Multi-tasking funkciók :::tip A példák elé kell írni a kulcsszót: `krumpli` Példa: `krumpli.várj` ::: |Név|Leírás|Használat|Példa| |---|---|---|---| |várj|Visszaadja a futást az előző thread-nak.|`várj()`|`várj()`| |létrehoz|Létrehoz egy új thread-et.|`létrehoz(f: function): coroutine`|`létrehoz(lőcsve() { ugass(7) })`| |folytat|Folytatja a thread-et.|`folytat(c: coroutine)`|`folytat(c)`| |státusz|Visszaadja a thread státuszát.|`folytat(c: coroutine)`|`folytat(c)`|