Sto cercando di ottenere un elemento da un elenco in un determinato indice per un'istruzione di loop.Come posso ottenere un elemento da un elenco a un dato indice in linguaggio racket?
(define decision-tree-learning
(lambda (examples attribs default)
(cond
[(empty? examples) default]
[(same-classification? examples) (caar examples)] ; returns the classification
[else (lambda()
(let ((best (choose-attribute attributes examples))
(tree (make-tree best))
(m (majority-value examples))
(i 0)
(countdown (length best)) ; starts at lengths and will decrease by 1
(let loop()
(let example-sub ; here, totally stuck now
; more stuff
(set! countdown (- countdown 1))
; more stuff
)))))])))
In questo caso, best
è la lista e ho bisogno di ottenere il suo valore in corrispondenza dell'indice countdown
. Potresti aiutarmi su questo?
Invece di eseguire il ciclo su un indice e utilizzare 'list-ref', perché non eseguire semplicemente il ciclo sull'elenco direttamente? –
Nota inoltre che se ti trovi a fare un accesso casuale attraverso l'elenco, probabilmente non è il tipo di contenitore appropriato per i tuoi dati. Racket (oltre a Scheme) fornisce il tipo * vector * che supporta l'accesso casuale a tempo costante. http://docs.racket-lang.org/guide/vectors.html – dyoo
Grazie per i commenti. Sono davvero nuovo al racket lang e apprezzo tutto questo. – lu1s