Grick Zh wrote:
> Adam Stegman wrote:
>> Or more concisely (because it's fun):
>> <%=h @posts.map(&:name).to_sentence %>
>> which will make it "Tom, Dick, and Harry".
> 

1) @posts.map
This will return a new enumerable, replacing each element of @posts with 
whatever the block says
2) &:name
Shortcut to indicate a block and a method. In this case, the method is 
:name (post.name)

Other example: [1,2,3,4].inject(:+) # Sum every element of the array. 
Will of course fail if an element does not understand "+".

3) to_sentence
We now have an array with names. "to_sentence" is, I believe, an 
activesupport method which joins the array into a string with commas, 
and adds "and " between the second to last and last item.
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to