AstroLang/docs/versioned_docs/version-1.0.0/enviroment.md

186 lines
No EOL
7.2 KiB
Markdown

---
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)`|