Josh told me today that one
way to see if someone is any good at Ruby is to have them implement
the *ect methods in terms of inject. This isn’t a fool-proof method,
and I’m also not concerned about it’s
screening valueas much as I am simply interested in how to do it. Most importantly,
do I meet Josh’s standards?
(As Nick pointed out,
anyone who’s spent more than 5 minutes functional programming would
laugh at this. I’m a newbie.)
Before I show my code, I’m going to give you the opportunity to go try
it for yourself. Write custom #detect, #select, #reject, and #collect
methods in terms of Enumerable#inject.
Here’s a little RSpec example that will let you automatically verify
your implementation:
And now for my implementation:
How did you do it?