Permalänk
Medlem

Rekursiv funktion i LISP

Hej ! Jag försöker skriva en rekursiv funktion i Lisp men har lite problem. Funktionen fungerar inte när jag anropar den.

(defun summa(n)
(if( n = 1 )
1
(+ n ( summa (- n 1 ) )))

Vad gör jag för fel ?

Tack på förhand.

Visa signatur

Corsair 600W Gaming Edition | Intel Core i5 4670K | 8GB DDR3 RAM | Corsair Carbide 330R | Sapphire Radeon R9 290 | Arctic Accelero Xtreme 3

Permalänk
Medlem

Fler LiU-uppgifter ser jag... Du har skrivit din jämförelse som infix. Den behöver vara prefix (sedan kommer jag inte ihåg vilken av alla komparatorer som ska användas).

Dina felmeddelanden kanske skulle hjälpa dig på traven? Det bör ha sagt att det inte finns någon funktion "n".

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

Har fixat det nu ..

(defun summa(n)
(if( = n 1 )
1
(+ n ( summa (- n 1 ) )))

Visa signatur

Corsair 600W Gaming Edition | Intel Core i5 4670K | 8GB DDR3 RAM | Corsair Carbide 330R | Sapphire Radeon R9 290 | Arctic Accelero Xtreme 3

Permalänk
Medlem

Fan vad det måste suga att gå D på LiU om det är så tråkigt att gå dit.

Visa signatur

I'm Winston Wolfe. I solve problems.