From: Friedrich Dominicus Date: 2006-11-09T00:50:06+09:00 Subject: Suprise in Ruby I can not remember having read about it before, however the following happens here: irb(main):015:0> arr = Array.new(3, Array.new) [[], [], []] irb(main):016:0> arr[0].push(1) [1] irb(main):017:0> arr [[1], [1], [1]] ruby 1.8.5 but irb(main):018:0> arr1 = Array.new(3) [nil, nil, nil] irb(main):019:0> 0.upto(2) {|i| arr1[i] = Array.new} 0 irb(main):020:0> arr1 [[], [], []] irb(main):021:0> arr1[0].push(1) [1] irb(main):022:0> arr1 [[1], [], []] I'm not getting it. Is it supposed to work that way? Regards Friedrich -- Please remove just-for-news- to reply via e-mail.