On Mon, Jan 16, 2012 at 3:17 PM, Emil EnemëÓke <eme / medical-insight.com> wrote: > Hi, > > Im trying to make an array a global array, but I cannot make it work. "server" references a Hash. > Here is what I have: > ------------ > hostname=server1 > server = Hash.new { |hash, key| hash[key] = [] } > service_name="service name" > service=service1 > > if server.key?(hostname) Will likely return false because the Hash is empty initially. > erver[hostname]=Hash.new { |hash, key| hash[key] = [] } > erver[hostname]["service_name"]=Array.new > erver[hostname]["service_name"]="service#{service_counter}" > erver[hostname]["service_name"]=[x,x,x] The three lines above all overwrite the same entry. That's almost certainly not what you want. > end > ----------------- > > I have tried with > $server[hostname]["service_name"]=[x,x,x] > $server[hostname]["service_name"]=Array.new > > but that does not work... Any help is appreciated. I am not 100% sure what you intend but I think you might just want server = Hash.new { |hash, key| hash[key] = {} } server[hostname]["service_name"] = ["service#{service_counter}", [x,x,x]] Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/