Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Dec 2004

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.

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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

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".

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

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Dec 2004

Har fixat det nu ..

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

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

Trädvy Permalänk
Medlem
Plats
@home
Registrerad
Maj 2005

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

I'm Winston Wolfe. I solve problems.