2016-03-31 13 views
0

Beim Versuch, mein Programm, das ich immer laufen in diesen Fehler laufen:Scheme Funktionsaufruf Fehler

function call: expected a function after the open parenthesis, but nothing's there 

Ich kann nicht scheinen, um herauszufinden, was Teil meines Code falsch ist, den Fehler zu beheben. Kann mir jemand in die richtige Richtung zeigen, wo es ist? Hier

ist der Code, der den Fehler zu erzeugen:

(define (list2tree ls) 
    (list2tree-help ls())) 

(define (list2tree-help ls tree) 
    (cond ((null? ls) tree) 
     (else (list2tree-help (cdr ls) 
           (insert (car ls) tree))))) 
+1

jede Grund, warum Sie nie die zahlreichen Antworten, die Sie auf dieser Website erhalten haben, als akzeptiert markieren? –

Antwort

1

Beachten Sie, dass diese ungültige Syntax für eine leere Liste ist:

(list2tree-help ls()) 

Es sollte:

(list2tree-help ls '()) 
+1

In Racket können Sie auch 'empty' verwenden. Das ist vielleicht einfacher zu verstehen als zu versuchen, Leuten zu erklären, warum leere Listen sich im Scheme nicht selbst bewerten (im Gegensatz zu CL und Clojure). –