From: Jean-Hugues ROBERT Date: 2002-06-12T23:58:22+09:00 Subject: Re: array reference ? At 20:01 12/06/2002 +0900, you wrote: >Hi, >consider this bunk of code: > > irb(main):001:0> def modify(a) > irb(main):002:1> a += [ 2 ] > irb(main):003:1> end > nil > irb(main):004:0> a = [ 1 ] > [1] > irb(main):005:0> modify(a) > [1, 2] > irb(main):006:0> a > [1] <<<< a hasn't been modified > irb(main):007:0> > >Why "a" isn't modified by "modify" function?, because this work with a >Hash class: > > irb(main):013:0> def modify(h) > irb(main):014:1> h[2] = 2 > irb(main):015:1> end > nil > irb(main):016:0> h = { 1 => 1 } > {1=>1} > irb(main):017:0> modify(h) > 2 > irb(main):018:0> h > {1=>1, 2=>2} <<<< h has been modified > >How can i make it working with an array? >thanks .. a << [2] I guess. a += [ 2 ] is equivalent to a = a + [ 2 ]. This changes a, not the array. Jean-Hugues ------------------------------------------------------------------------- Web: http://hdl.handle.net/1030.37/1.1 Phone: +33 (0) 4 92 27 74 17