Estoy tratando de obtener un elemento de una lista en un índice dado para una instrucción de ciclo.¿Cómo obtengo un elemento de una lista en un índice determinado en lenguaje de raqueta?
(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
)))))])))
En este caso, es best
la lista y que necesita para obtener su valor en el índice countdown
. ¿Podrías ayudarme en eso?
En lugar de pasar por encima de un índice y usar 'list-ref', ¿por qué no simplemente recorre la lista directamente? –
También tenga en cuenta que si se encuentra haciendo acceso aleatorio a través de la lista, entonces probablemente no sea el tipo de contenedor apropiado para sus datos. Racket (así como Scheme) proporciona el tipo * vector * que admite el acceso aleatorio de tiempo constante. http://docs.racket-lang.org/guide/vectors.html – dyoo
Gracias por los comentarios. Soy muy nuevo en racket lang y aprecio todo esto. – lu1s