From: Timo Jeranko Date: 2009-11-08T19:40:08+09:00 Subject: A method that doesn't change its arguments 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?