Είμαι χρησιμοποιώντας τον Δρ ρακέτα, γλώσσα αρκετά μεγάλο, και προσπαθώ να κάνω μια απλή δυαδικό δένδρο αναζήτησης «μέσα;» μέθοδο, η οποία θα επιστρέψει, αν μια τιμή δεν είναι στο δυαδικό δέντρο αναζήτησης ή όχι. Πρέπει να είναι γενική, δέχεται κάθε είδους δέντρο αναζήτησης (αν περιέχει χορδές, ints, κλπ), αλλά τρέχω σε αυτό το μήνυμα λάθους που οδήγηση με καρύδια. Οποιαδήποτε βοήθεια είναι ευπρόσδεκτη, εδώ είναι ο κώδικας:
ΕΠΙΜΕΛΕΙΑ :: Λειτουργεί τώρα, αλλά όχι με οτιδήποτε άλλο εκτός από τους αριθμούς (ή τουλάχιστον δεν λειτουργεί με χορδές) .. Νέα έκδοση:
(define (bstsearch tree value)
(cond
((null? tree) #f)
((< value (car tree))
(bstsearch (cadr tree) value))
((> value (car tree))
(bstsearch (caddr tree) value))
((= value (car tree))
#t)
))
Το σφάλμα είμαι λήψη λέει:
<: expects type <real number> as 1st argument, given: horse; other arguments were: horse
Οταν χρησιμοποιείτε:
(bstsearch '(horse (cow () (dog () ())) (zebra (yak ()()) ())) horse)
ως είσοδο.













