Well, there is Array.delete . It returns what deleted (or nil if nothing was deleted), however, which seems awkward. But it performs delivery and does not interrupt for non-row elements:
ar = ['a', '', 2, 3, ''] p ar.delete('') #=> "" p ar #=> ["a", 2, 3]
steenslag
source share