From: Mark Thomas Date: 2008-12-04T23:44:17+09:00 Subject: Re: Enumerable#select used to return actual values On Nov 29, 10:46 pm, Mike Austin <"mike[nospam]"@mike-austin.com> wrote: > I'm pretty sure select used to use the actual value of the called block, > instead of treating it as just a truthy/falsey boolean.  I know this is > unconventional, but it's a really nice, compact way of expressing map and > filter in one shot, like list comprehension: > > (1..10).select { |a| a * a if a > 5 } > > Was it ever there, or did I just have a dream about it?  It's easy to > implement... just wondering. This is what I do: (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. -- Mark.