Gnezdenje klicev

Videli smo že nekaj primerov, ko ena funkcija kliče drugo. Možno je tudi, da druga funkcija spet kliče prvo (glej program spodaj).

Funkcija Prva torej lahko pokliče funkcijo Druga, čeprav je ta deklarirana pozneje v programu. Pomembno je le, da prvi klic funkcije Prva nastopi šele po tistem, ko je tolmač že prebral deklaracijo funkcije Druga. V našem primeru prvi klic funkcije Prva nastopi šele čisto na koncu programa, tako da s tem ni težav.


Zaženimo spodnji program. Iz izpisa lahko lepo vidimo, kako so klici gnezdeni eden v drugem. Ko se izvajanje vrne iz vgnezdenega klica, se nadaljuje z naslednjim stavkom zunanjega klica in tako naprej.

Funkcija lahko kliče tudi neposredno sámo sebe – temu pravimo rekurzija.

Delčki   Python  
Pogoji
Zanke
Matematika
Tabele
Besedilo
Spremenljivke
Funkcije
začetek prve nustvari besedilo izn0‏>nDrugas/z:n - 1konec prve nustvari besedilo izizpišičeizvediizpišiizvediPrvas/z: nzačetek druge nustvari besedilo izn0‏>nPrvas/z:n - 1konec druge nustvari besedilo izizpišičeizvediizpišiizvediDrugas/z: nnPrvas/z:3