I have an array that I want to iterate over and delete some of the elements. This doesn’t work:
a = [1, 2, 3, 4, 5]
a.each do |x|
next if x < 3
a.delete x
# do something with x
end
a #=> [1, 2, 4]
I want a to be [1, 2]. How can I get around this?
a.delete_if { |x| x >= 3 }See method documentation here
Update:
You can handle x in the block: