| Autor | Zpráva | ||
|---|---|---|---|
| SeparateSK Profil |
#1 · Zasláno: 1. 12. 2012, 12:24:35
Dobrý deň, ako sa dá vytvoriť funkcia, ktorá by bola podobná "if-u" alebo "for" atď, myslím: menofunkcie(parametre){to čo sa má diať} ?
Dá sa to vôbec? Viem, že sa to isté sa dá dosiahnuť cez callback (funckia(parametre,callback funkcia)), ale to teraz nechcem. |
||
| nevimco2 Profil |
#2 · Zasláno: 1. 12. 2012, 12:32:38
Pokud máte na mysli funkce, tak ano.
Doporučuji http://www.tvorba-webu.cz/php/funkce.php. |
||
| SeparateSK Profil |
Normálne funkcie viem tvoriť :D
Myslel som, že ako vytvoriť niečo ako toto: function Kresli($pozicia)[záhadný spôsob, ktorý obsahuje callback]{
$x=($pozicia>>8)&0xFF;
$y=$pozicia&0xFF;
[nejaký spôsob zavolania callbacku, kt. je v bloku za funkciou keď je volaná]
}
//tu je kód...
Kresli((15<<8)|20){ //toto je blok
//tu je kód callback-u, ktorý sa má vykonať
} |
||
| Someone Profil |
function Kresli($pozicia,$callback) {
$callback[$pozicia];
}
Kresli(10,function($p){
echo "Pozice je".$p; // pokud to bude fungovat tak jak doufám, tak vypíše 10
});V PHP jsem to nikdy nezkoušel, ale v JS bych to udělal asi takhle. |
||
| SeparateSK Profil |
Viem aj toto je možnosť, ale všetko to je v (...) ,ale ja by som potreboval dostať ten blok práve za (...) a hlavne aby prešiel ako parameter.
Raz som videl podobné v C++ (BOOST_FOREACH), ale nemám potuchy ako to fungovalo. |
||
| Mike8748 Profil |
#6 · Zasláno: 1. 12. 2012, 13:25:22
SeparateSK:
obávám se že tohle selže už na prvním nedostatku php oproti C/C++ a to makrech. tak hezkou konstrukci jako v C/C++ neuděláš. pro zajímavost... jaký je důvod potřeby tohoto? „ja by som potreboval dostať ten blok práve za (...) a hlavne aby prešiel ako parameter.“ |
||
| SeparateSK Profil |
Potrebujem to najmä kvôli tomu, aby bol ten kód prehľadnejší, i keď nehovorím, že function meno(parametre,function(){}); - riešenie Someone-ho je zlé, ale nie je to až také prehľadné.
|
||
| ShiraNai7 Profil |
#8 · Zasláno: 1. 12. 2012, 13:49:14
SeparateSK:
Nejde. |
||
|
Časová prodleva: 13 let
|
|||
0