On Nov 8, 3:38am, Timo Jeranko <jera... / gmail.com> wrote:
> At the moment I'm doing something like this:
>
> def some_method(array1)
> ...
>  array2 = array1.clone
> ...
>  array2.delete_at(i)
> ...
>  return array2
> ...
> end
>
> I would like array1 to remain unchanged. It seems a little inefficient
> to clone array1 every time some_method is called. Is there a more
> elegant solution?

Could you clarify what you're trying to do? What you've shown is a
method that takes an array and then returns a slightly modified
version. If you don't want the original to be modified, what's your
other option?

Are you aware that array duplication is a 'shallow' operation? All
you're doing is (efficiently) copying a list of references to objects,
not the objects themselves. As lith wrote, avoid premature
optimization. You may be spending your time and ours on a complete non-
issue.