Hogy lehet a switch értékét visszakapni?
Sziasztok!
AscionScript 3.0-ban dolgozok, és az a problémám hogy minden egyes case-re meg kéne adnom ugyanazt a feladatot:
switch (vizsgálandó){
case eshetőség:
//sok sok kód
brake;
}
szóval, hogy tudok visszahivatkozni a teljesült eshetőségre, hogy tudjam, hogy melyikre teljesült?
Oks bocsi...
Szóval, van 2 tömbünk, mondjuk legyen arr1 és arr2.
Egy dinamikus szövegmezőben meg akarom jeleníteni a (ComboBox-ból) kiválasztott tömb x-edik elemét.
Egy switch beépített függvény (vagy mi) vizsgálja nekem a kiválasztott tömböt vhogy így:
switch(ComboBox.data) {
case: arr1
//kód
brake;
case: arr2
//kód
brake;
}
ha az elején megemlített feladatot végre akarom hajtani akkor így írnám:
case "arr1":
din_txt.text = arr1[x];
brake;
case "arr2":
din_txt.text = arr2[x];
brake;
Ugye itt ugyanazt a kódot kell beírnom minden eshetőségre, csak egy picit konkretizálva, és ezt nem nagyon akarok, mert minden egyes kód hosszabb nem így mint itt.
Gondolkodtam egy függvényen, ami vhogy így néz ki:
case "arr1":
var ertek:string = arr1;
ird_ki();
brake;
function ird_ki():void {
din_txt.text = ertek + "[x]";
}
Nah ez ugye nem jó, tök logikusan, mert az egészet egy stringként kezeli és kiírja nekem a program, hogy:
"arr1[x]"
hogy lehetne azt, hogy írja ki az x-edik elemet?
Nem ismerem ezt a "AscionScript 3.0"-t, csak césen gondolkodva.. Mi lenne, ha a függvényednek átadnád paraméterként a tömböt, amivel dolgoznia kell, és a switch-ben csak meghívnád a megfelelő tömb címével. A case-ek így egy sorosak lennének. Pl:
..
case "arr1": ird_ki(arr1); break;
case "arr2": ird_ki(arr2); break;
..
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!