Sto usando il dottor Racket, la lingua abbastanza grande, e sto cercando di fare un semplice albero binario di ricerca in? metodo, che restituirà se un valore è nella albero binario di ricerca o no. Ha bisogno di essere generale, di accettare qualsiasi tipo di albero di ricerca (sia esso contiene stringhe, interi, ecc), ma sto correndo in questo messaggio di errore che mi sta facendo impazzire. Ogni aiuto è apprezzato, ecco il codice:
A CURA :: ora funziona, ma non con qualsiasi cosa, ma i numeri (o almeno non funziona con le stringhe) .. Nuovo problema:
(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)
))
L'errore che sto ricevendo dice:
<: expects type <real number> as 1st argument, given: horse; other arguments were: horse
Quando si usa:
(bstsearch '(horse (cow () (dog () ())) (zebra (yak ()()) ())) horse)
come input.













