301 lines
No EOL
4.7 KiB
Markdown
301 lines
No EOL
4.7 KiB
Markdown
---
|
|
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)
|
|
}
|
|
``` |