Egy függvénynek lehet több visszatérítési értéke?
Tehát tegyük fel, hogy írok egy olyan függvényt, ami bekéri a kör sugarát, majd visszadobja a területét és a kerületét.
Aztán a képlet szerint számol és megjelenik a két return.
Megpróbáltam, nem működik, szal én vagyok a béna, vagy ez így nem megy?
Vannak olyan programnyelvek (pl. Go), ahol ez támogatott funkció és visszadhatsz két különböző típusú értéket.
return 1,2
De ha olyan nyelvet használsz, aminél ezt nem lehet akkor 2 lehetőséged van.
Vagy visszadsz egy tömböt benne a két értékkel. return [1,2]
Vagy egy objektumot, benne két mezővel. return { area: 1, circumreference: 2 }
Viszont átláthatóbb lesz a kódod, ha egy függvény csak egy dolgot csinál, külön függvény a kettőnek.
Remekül mondja az első válaszoló.
Rajtad csodálkozom, hogy nem jöttél rá önerőből arra, hogy vmilyen struktúrában add vissza a két értéket?
A tömb oké, de gondoltam van egyszerűbb is.
Szal ne csodálkozz.
Én rajtad csodálkozom, hogy lehet ilyen hülyeséget kérdezni.
Hopp még egy megoldás:D
Ez megint nem jött be.
Szerencsétlen, nem megy ez neked:D
Nincs mit. Nem hinném, hogy bérkinek hasznára válnak az ilyen trollok. Egyébként privátban azért megkeresett. Hadd ne mondjam, a stílusából ítélve nem tartozik a magaskultúra képviselőihez. :D
A kérdésre meg helytálló válasz, amit #1 adott. Technikai okokból nincs rá lehetőség, hogy több visszatérési értéke legyen (túl azon, hogy ha nagyon matekozni akarunk, az már nem is lenne függvény), egyszerűbb, ha azon ritka esetekben, amikor több visszatérési érték van, akkor mondjuk egy tömböt, vagy rekordot adsz vissza.
Vagy: a paraméterekben adod vissza az értékeket. (Ilyenkor persze vigyázni kell, hogy cM/referencia szerinti paramétereket használj.)
De egyébként szoftvertechnikailag nem a legbölcsebb dolog egy függvénnyel két dolgot elvégeztetni. Alapelv, hogy minden függvény, osztály, miegymás csak a neki meghatározott, lehetőleg minél kevesebb feladatot végezze. Én a terület- és kerületszámítást külön függvényekben cégezném.
A gyűlöletkeltésért, mások sértegetéséért, provokálásért, vállalkozás/termék/weboldal népszerűsítéséért, reklámozásért, trágárkodásért, rasszista írásokért, több kérdés ugyanazokkal a válaszokkal történő végigspameléséért, közízlés megsértéséért a fiókod korlátozásra kerülhet, így ilyen válaszokat ne helyezz el oldalunkon!
Kérjük, olvasd el a részletes felhasználói szabályzatot is! Fenntartjuk a jogot, hogy szabályszegés esetén a válaszod töröljük.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!