When I was learning Ruby an exercise I'd put myself through was to solve a problem as best I could - that might have involved using a while loop for example. Then I'd iterate over the problem, Rubyifying it as much as I could. Sometimes I'd get stuck and have to ask for help, and sometimes I'd just spend hours getting it wrong, but it really helped me understand the nuances of Ruby.
I actually still do this from time to time to keep my hand in, and I usually end up learning something new.