On 2/29/08, 7stud -- <bbxx789_05ss / yahoo.com> wrote: > Trans wrote: > > How to remove the first occurrence of something? > > > > a=[1,2,3,4] > > a.find!{ |e| a==2 } #=> 2 > > > > But there is no #find!, how to define it? My solutions seem unduly > > complex. > > > > Thanks, > > T. > > > More complex than the following? > > arr = [1, 2, 3, 2, 2, 2] > > arr.each_with_index do |elmt, i| > if elmt == 2 > arr.delete_at(i) > break > end > end Why not just... arr = [1, 2, 2, 2, 3] arr.delete_at(arr.index(2)) arr => [1, 2, 2, 3] Christopher