I vote for haskell. There are a couple of great online resources for free[1], and if you are at all like me, you'll benefit immensely from it, even though you never use it directly. Basically it is so weird that you have to learn new ways to think. The cool thing is those weird things end up being applicable in boring ruby/python/c type situations. Also, you start wishing everything had a badass type system, because you start seeing problems that could easily be solved by codifying them to ADTs and letting the type system sort out the rest.
1. Learn you a haskell for Great Good -- http://learnyouahaskell.com/
Real World Haskell -- http://www.realworldhaskell.org/