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?