[plt-scheme-es] ayuda con arreglos

Francisco Solsona solsona@acm.org
Thu, 30 Jan 2003 18:53:50 -0600


fbecerra@puj.edu.co writes:

Hola,

> hola, soy nuevo en la lista y tambien en este lenguaje de programacion, tengo 
> algun manejo de c, y me gustaria que alguien me ayude, ya que no he encontrado 
> nada acerca de punteros, donde puedo encontrarlo?

Aquí puedes encontrar varios manueles (en particular revisa R^5RS y
mzscheme):

http://download.plt-scheme.org/doc/

> ademas no entiendo el manejo de arreglos que en c seria algo asi:
>
> int a[20];
> for (int i = 0; i<20; i++)
>   cin>>a[i];
>
> como puedo hacer algo parecido en Scheme.

Una traducción muy literal sería algo así:

(define v (make-vector 20))
(let loop ((i 0))
  (unless (= i 20)
    (vector-set! v i (read))
    (loop (add1 i))))

aunque definitivamente es algo que muchos programadores de Scheme no
harían¹. :-)  Te recomiendo que leas algún libro de Scheme, por
ejemplo:

http://www.ccs.neu.edu/home/matthias/books.html

si buscas en los "little books" encontrarás "The Little Schemer" (y
luego lee también el Seasoned).  Si buscas en "él libro", entonces
también vas en el camino correcto y está en línea.

suerte,
paco

Footnotes: 
¹  Hacer un ciclo con un índice no es usual en Scheme, la mayoría
usaría alguna versión recursiva o algo así.