Announcement (2017-05-07): www.ruby-forum.com is now read-only since I
unfortunately do not have the time to support and maintain the forum any
more. Please see rubyonrails.org/community and ruby-lang.org/en/community
for other Rails- und Ruby-related community platforms.

Sijo Kg wrote:
>> Thanks in advance> Sijo>
This code might be a little deceptive, but if you look closely
"options.select { |k, v| k == :b && options.delete(k)}.flatten" is just
creating an array out of selected keys and values. After that, the splat
operator (*) is being used to turn the array into parameters for the
Hash.[] function...which turns it back into a hash. Tada!
I note that in Ruby 1.9.1, Hash#select returns a hash, making this
weirdness unnecessary.
More about splat, including this particular use:
http://advent2008.hackruby.com/past/2008/12/12/mee...
-Justin