Since you've created one #("1" "2" "3") vector, changing it through one
reference changes all references to it.
(Aside to PLT people: This might be an example of having the default
writer show sharing could actually be helpful to beginners.)
--
http://www.neilvandyke.org/
_________________________________________________
For list-related administrative tasks:
http://lists.racket-lang.org/listinfo/users
"make-vector" is not the correct way, but there are many other ways.
This will make the nested vectors like you originally intended:
(vector (vector (vector 1 2 3)
(vector 1 2 3))
(vector (vector 1 2 3)
(vector 1 2 3)))
You can also use procedures:
(define (make-xyz) (vector (make-yz) (make-yz)))
(define (make-yz) (vector (make-z) (make-z)))
(define (make-z) (vector 1 2 3))
(make-xyz)
Or, if you want to represent multiple dimensions, and you know the size
of each dimension, you can use a single vector and then do arithmetic of
the X, Y, Z to find the right index:
(vector 1 2 3 1 2 3 1 2 3 1 2 3)