On Dec 4, 11:07    
> Hi,
>
> In message "Re: Enumerable#select used to return actual values"
> on Fri, 5 Dec 2008 00:47:45 +0900, Trans <transf... / gmail.com> writes:
>
> |> (1..10).collect{ |a| a * a if a > 5 }.compact
> |>
> |> The only time this doesn't work is when you want to preserve nils in
> |> your original array.
> |
> |And that's exactly what I suggested for #compact, to take a block but
> |faster b/c it's one pass.
>
> I don't deny the existence of use case of such method (although I
> cannot think of any realistic one right now), but its name should not
> be #compact, since it does far more than compacting the receiver.
>
> matz.

#comprehend ?