Array.compact and Array.compact!

Signature

array.compact   #=> new_array
array.compact!  #=> array or nil

array.compact returns new_array that contains all non-nil
elements in array (nil elements removed). array.compact! either returns
array with all nil elements removed or returns nil if no nil
elements were removed.

Examples

a = [1, nil, nil, 4, nil]       #=> [1, nil, nil, 4, nil]
a.compact                       #=> [1, 4]
a                               #=> [1, nil, nil, 4, nil]
a.compact!                      #=> [1, 4]
a                               #=> [1, 4]
a.compact!                      #=> nil

Documentation Reference

Ruby version 1.8.6

www.ruby-doc.org : Array.compact and Array.compact!