Autor Zpráva
Matess
Profil *
Ahoj.
Potřeboval bych poradit jak napsat FCI, která když se vykoná (uloží do DB data), tak aby znovu zavolala sebe sama.
Prostě aby se ta funkce vykonávala pořád dokola.

Prosím poraďte mi jak na to.

Děkuji
martin1312
Profil
v tele funkcie ju budeš volať ešte raz. Pohľadaj na googli - rekurzia.
Šéva
Profil
nestačilo by to dát případně do cyklu to volání ten funkce? aby se ti ta funkce celá pak nezacyklila
Mike8748
Profil
Matess:
volání dané funkce umístíš do nekonečného cyklu, např.

while (true) { tvoje_funkce_zapisujici_do_db(); }
cyklus while neskončí, tvoje funkce bude pořád zapisovat do DB (i když mi uniká smysl takové činnosti)

rekurzi v tomto případě použít nelze, v případě rekurze by došlo po určitém počtu volání k přetečení zásobníku a skript by se akorát zhroutil
martin1312
Profil
Mike8748:
áno, ale samozrejme som to myslel tak, že by sa pri určitej podmienke rekurzia zastavila.
DJ Miky
Profil
Můžeš z té funkce vracet true nebo false a podle toho se buď breaknout z cyklu nebo ne:
while(true) {
    if(!funkce()) break;
}
Když funkce() vrátí false (return false;), tak se cyklus ukončí, jinak bude pokračovat.
Amunak
Profil
DJ Miky:
Stačilo by jen
while (funkce()){}
ne?
Alphard
Profil
[#7] Amunak
Dokonce by tam stačilo dát středník
while (funkce());
DJ Miky
Profil
Stačilo, ale pro začátečníka to určitě nebude přehlednější.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: