A InfoWiki wikiből
A lap korábbi változatát látod, amilyen Aroan (vita | szerkesztései) 2008. december 8., 21:22-kor történt szerkesztése után volt.
TITÁN projekt - Acker fv
Acker(Int,Int) -> Int | 0, j = j + 1 | i, 0 = Acker(i-1, 1) | i,j = Acker(i-1, Acker (i,j-1))
A függvény kódjában a | vonal a mintaillesztést szimbolizálja. A fordítónak figyelnie kell, hogy minden minta-kombinációra van-e törzs kidolgozva.
A minta (pattern) illesztésénél a lehetséges input paraméterek lehetséges értékeire adunk más-más viselkedésű függvény-törzseket. A fenti Acker-függvény C# változata az alábbi lehetne:
static int Acker(int a, int b) { if (a==0) return b+1; if (b=0) return Acker(a-1,1); return Acker(a-1, Acker(a,b-1)); }