Zuzzurro
1/25/2005 3:49:00 PM
Il giorno mar, 25-01-2005 alle 16:32 +0100, Robert Klemme ha scritto:
> "Zuzzurro" <celhoquilabrioche@zuzzurro.it> schrieb im Newsbeitrag
> news:1106665910.3709.5.camel@localhost.localdomain...
> > Hi,
> >
> > I need an insert method for the Array class, the insert method let you
> > do something like this:
> >
> > a = ['a', 'b', 'd']
> > a.insert!(2, 'C')
> >
> > a => ['a', 'b', 'C', 'd']
> >
> >
> > I've implemented it this way:
> >
> > class Array
> > def insert(v, i)
> > i = 0 if i < 0
> > a = Array.new
> > a += self[0..i-1] if i > 0
> > a << v
> > tail = self[i..-1] if i < self.length
> > a += tail unless tail.nil?
> > return a
> > end
> >
> > def insert!(v, i)
> > new_self = insert(v, i)
> > clear
> > concat new_self
> > end
> > end
> >
> >
> > Is there a better way of doing this?
>
> >> a = %w{a b c d}
> => ["a", "b", "c", "d"]
> >> a[2,0]=%w{1 2 3}
> => ["1", "2", "3"]
> >> a
> => ["a", "b", "1", "2", "3", "c", "d"]
>
> Kind regards
>
> robert
>
thank you.