--- sidebar_position: 3 description: Az Astro Lang fukciói --- # Nyelvi funkciók --- ## Assignment (Változó beállítás) Kucsszó: `gethelj` Használat: `gethelj változó = érték` Példa: ```asl title="example.asl" gethelj test = 17 ``` --- ## Var read (Változó olvasás) Kucsszó: `-` Használat: `változó` Példa: ```asl title="example.asl" gethelj test = 17 ugass(test) ``` --- ## Var update (Változó frissítés) Kucsszó: `-` Használat: `változó = érték` Példa: ```asl title="example.asl" gethelj test = 17 ugass(test) test = 18 ugass(test) ``` --- ## Function (Funkció) Kucsszó: `lőcsve` Használat: `lőcsve változó(változók) {lefutatott kód}` Példa: ```asl title="example.asl" lőcsve test(a) { //Ez akkor fut le mikor meghívod a funkciót } test(8) //így tudsz meghívni egy funkciót, ebben az esetben az "a" 8 lesz ``` --- ## If (Ha) Kulcsszó: `ha geny` Használat: `ha geny(feltétel) {ha igaz}` Példa: ```asl title="example.asl" ha geny(piszv) { //Ez akkor fut le, ha a feltétel igaz //Ebben az esetben mindig } ``` --- ## Else (Különben) Kulcsszó: `ha nem geny` Használat: `ha nem geny {ha hamis}` Példa: ```asl title="example.asl" ha geny(nem piszv) { //Ez akkor fut le, ha a feltétel igaz //Ebben az esetben soha } ha nem geny { //Ez akkor fut le, ha a feltétel hamis //Ebben az esetben mindig } ``` :::tip Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe. ::: --- ## Else if (Különben-Ha) Kulcsszó: `ha nem geny akkor geny` Használat: `ha nem geny akkor geny(feltétel) {ha igaz}` Példa: ```asl title="example.asl" ha geny(nem piszv) { //Ez akkor fut le, ha a feltétel igaz //Ebben az esetben soha } ha nem geny akkor geny(piszv) { //Ez akkor fut le, ha az előző if feltétele hamis és a feltétel igaz //Ebben az esetben mindig } ``` :::tip Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe. ::: --- ## While (Amíg) Kulcsszó: `amíg geny` Használat: `amíg geny(feltétel) {amíg igaz}` Példa: ```asl title="example.asl" amíg geny(piszv) { //Ez addig fut le, amíg a feltétel igaz //Ebben az esetben örökké fog futni } ``` --- ## For (Változós amíg) Kulcsszó: `kopva` Használat: `kopva(beállítás;feltétel;frissítés) {amíg igaz}` :::info A beállítás első futás előtt fut le, csak 1 utasítást tartalmazhat. A frissítés minden futás után fut le, csak 1 utasítást tartalmazhat. ::: Példa: ```asl title="example.asl" kopva(gethelj i = 0; i < 10; i = i + 1) { //Ez addig fut le, amíg a feltétel igaz } ``` --- ## Break (Törés) Kulcsszó: `kraf` Használat: `kraf` Példa: ```asl title="example.asl" kopva(gethelj i = 0; i < 10; i = i + 1) { kraf //Ez az első futásnál be fogja fejezni az amíg-ot } ``` --- ## Continue (Folytasd) Kulcsszó: `szard le` Használat: `szard le` Példa: ```asl title="example.asl" kopva(gethelj i = 0; i < 10; i = i + 1) { ugass(i) szard le ugass(78) //Ez soha nem fog lefutni, mert át lesz ugorva } ``` --- ## Return (Funkció visszadása) Kulcsszó: `reti` Használat: `reti [változó]` Példa: ```asl title="example.asl" lőcsve test(a) { reti a } gethelj a = test(8) //Az "a" értéke "8" lesz, mert azt adja vissza. ``` --- ## Import (Betöltés) Kulcsszó: `hámozd, be/ba` Használat: `hámozd változó be/ba` :::tip Ez egyből létrehoz egy változót. Pontos fájlnevet tudsz megadni! ::: Példa: ```asl title="example.asl" hámozd test be szaft"test.asl"szaft ``` --- ## Table (Tábla) :::tip A kulcs bármilyen érték típus lehet, kivéve: funkció, tábla. ::: ### Létrehozás Használat: `{érték,érték}, {[kulcs]=érték}` Példa: ```asl title="example.asl" gethelj a = {1,2,3} ``` ### Lekérés Használat: `tábla[kulcs]` Példa: ```asl title="example.asl" gethelj a = {1,2,3} ugass(a[0]) // 1 ``` ### Gyors lekérés Használat: `tábla.kulcs` :::warning Csak a szöveges kulcsokkal működik, viszont több szót is támogat! ::: Példa: ```asl title="example.asl" gethelj a = {1,2,3,[szaft"test"szaft]=73} ugass(a.test) // 73 ``` ### Beállítás Használat: `tábla[kulcs] = érték` Példa: ```asl title="example.asl" gethelj a = {1,2,3} ugass(a[0]) // 1 a[0] = 12 ugass(a[0]) // 12 ``` --- ## Try/Catch (Próbáld ki) Kulcsszó: `piszolj, csecs` Használat: `piszolj {amit ki kell próbálni} csecs (error) {ha hiba}` :::warning A catch rész itt nem rakható bárhova, nem úgy mint az if-nél! ::: Példa: ```asl title="example.asl" piszolj { gethelj test = szaft"a"szaft+1 } csecs (e) { //Ez akkor fog lefutni, mikor hiba van ugass(e) } ```