I think Matz or some well known and respected "rubyist" needs to write a Ruby equivalent of Python's Pep 8 (there are some style guides out there on the internet but are mostly written in the "someone might disagree with me so here are 5 options for doing x" style) as there are a lot of stylistic things which ruby beginners always get slammed with.
For example, blocks or pseudo named paramaters with hashes are in no official documentation (that I've found) recommended (or discouraged) over other methods but a "rubyist" will often question a beginner over their use of x, y or z.
While I'm not against having some of this stuff written down, Ruby purposely adopts Perl's TMTOWTDI philosophy. So, using the while-loop approach is perfectly valid.
Ruby beginners should use whichever way they find most agreeable and evolve their view of the language as they go. Reading code written by other people (respected rubyists, as you say) is a great (and, the recommended) way to pick up new tricks to improve your code with.
IMO, that's the way it should be. There's no reason to list every single little tip ('use inject instead of an external accumulator') somewhere since I wouldn't expect a beginner to read through all that anyway.
When I learned Python several years ago I didn't know PEP's existed for ages, I figured it out myself and I think I'm a better programmer for it.
There's no reason to list every single little tip ('use inject instead of an external accumulator') somewhere since I wouldn't expect a beginner to read through all that anyway.
They might not read it on day one. But they will find themselves reading it via Google after they read a line of code (written, perhaps, by a respected Rubyist) that uses inject and are trying to figure out how the idiom works and where it should be used.
And, if they're lucky and they've found some fairly clear and concise docs, they might bookmark that page, or even read the rest of the page while they're there, thus saving themselves anywhere from 20 to 100 future trips to Stack Overflow. ("What is this thing with the hash that we use to pass options? What is this oddball "names.map(&:upcase)" syntax? What does "class << self" mean? How come my colleagues laugh bitterly when I try to use Rails fixtures?")
I don't understand your point about chaining and evaluation order. The example in the article is straightforward method chaining. Can you explain what you mean?
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.
For example, blocks or pseudo named paramaters with hashes are in no official documentation (that I've found) recommended (or discouraged) over other methods but a "rubyist" will often question a beginner over their use of x, y or z.
Edit: clarification, spelling and grammar.