+1 for learn you a haskell.

Ruby does have functional elements, but you won't truly learn FP, because
Ruby is all about structuring programs in an OO fashion, and solving small
problems in FPish ways when it makes sense. If that makes sense. Using a
'real' FP language will make you structure your problems in a functional
way...

Erlang would be okay too, but Haskell is better. Scheme is also solid. But
Haskell is uber-strict, and so you'll end up really learning FP well.