Függvénynek lehet egyszerre több visszatérési értéke?
Vagy dinamikus visszatérési értéke?
Az egyszerre több, dinamikusan változó adatot (amik függetlenek is lehetnek egymástól), hogyan tudják megjeleníteni?
Ez nyelv függő.
Régen a LUA-ban találkoztam vele, de már a C#-ban is behozták.
x,y,z = fuggveny();
fuggveny() {
return (1,2,3);
}
valahogy így néz ki
Én nem annyira szeretem ezt a megoldást, van aki object tömböt ad vissza, vagy pl szokás még C#-ban out paraméterrel "több infót kivenni".
Talán a legtisztább megoldás, ha létrehozol egy objektumot direktbe erre, ha nincs olyan amivel vissza szeretnél térni.
#21 És ez nem három értéket ad vissza, hanem egy darab objektumot, ami három darab értéket tárol. A kiolvasása pedig úgy néz ki, hogy pl. value.Item1, value.Item2, value.Item3.
Bővebben:
Továbbra sincs olyan, hogy egy függvény három különböző értéket ad vissza. Tessék ábrázolni koordinátarendszerben, hogy pl. x=3 helyen y=1, y=2, y=3 értéket vesz fel a függvény. Ugye, hogy nem lehet?
Nem matematikai függvényre gondoltam, hanem programnyelvben lévő függvényre. Ezért van a programozás kategóriában a kérdés :)
Értem, függvénynek csak egy visszatérési értéke lehet.
De hogy lehet olyan programot írni, ami egyidőben több egymástól független értéket mutat dinamikusan?
A programozás a matematikából fejlődött ki, erről beszéltünk 3 oldalon keresztül... Kicsit olvass a sorok között. Ebből következik, hogy amit le lehet programozni, azt le lehet írni matematikailag is és fordítva. Minden, ami érvényes matematikában, az érvényes programozásban is. Például nincs olyan, hogy programozásban két halmaz unioja mást jelent, mint algebrában vagy hogy konkrét kérdéshez visszatérve egy függvény több értéket ad vissza, mert az ellentmondás a függvény matematikai definíciójának.
A játékos kérdésre is volt már válasz, csak azt is lepontozták, talán ezért nem vetted észre. A magyarázat az, hogy objektumot ad vissza a függvény, ami tartalmazza a játékos életét, páncélját, fegyvereit, stb. Az objektum egyetlen összetartozó adathalmaz, így nem sérül a függvény definíciója sem.
Na, összedobtam egy szemléltető példát hogyan kell ezt elképzelni.
Van három halmaz.
HP = {1...10}
ARMOR = {1...10}
FEGYVEREK = {AK, M14, Pisztoly, Kés}
A játékosnak van mondjuk 9 HP-ja, 1 ARMOR-ja és Kés kivételével minden fegyvere.
A függvény fogja, kiveszi a három halmazból a megfelelő értékeket, összekomponálja ezeket az adatokat és csinál belőle egy negyedik halmazt, amit visszaad (piros halmaz az ábrán).
Nem feltétlenül kell halmaz adatszerkeznek lennie a programon belül, lehet ez struktúra, lista, akármi.
lehet lepontozni azt a válaszolót, aki a matematikára vezeti vissza, de teljes mértékben igaza van. egy adott inputra egy függvény mindenképpen egy adott, determinisztikus outputot fog visszaadni
habár szerintem nem erre gondolt a kérdező, de azt meg már megválaszolták
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!