sdv wrote:
> I want to hold data from structures in another array, modify the external
> structures  so that the array still refelects the changes: I've done as
> shown underneath but am i storing a 'reference' in the c/c++sense or am I
> duplicating data in the 'stuff' object? I dont wont to excessive memory
> usage.
> 
> def main
> stuff=Hash::new()
> a1=['a','b','c']
> b1=['a','d','f']
> ll=nil
> 
> ['a','b','c','d','e','f'].each {|i|
>   stuff[i]=Array::new()
>   }
> 
> stuff['a'].push(a1)
> stuff['a'].push(b1)
> puts "#{stuff['a']}"
> a1[0]='foo'
> puts "#{stuff['a']}"
> end

stuff['a'][0] << "added to stuff['a'][0]"

p a1   # ==> ["foo", "b", "c", "added to stuff['a'][0]"]

> main

So I think you would call it a reference. Does that help?