Search code examples
ruby-on-railsrubyarraysruby-on-rails-3sentence

How to "transform" an array in a sentence?


I am using Ruby on Rails v3.0.9 and I would like to "transform" an array of strings in a sentence including punctuation. That is, if I have an array like the following:

["element 1", "element 2", "element 3"]

I would like to get\build:

# Note: I added 'Elements are: ' at the begin, ',' between elements and '.' at
# the end.
"Elements are: element 1, element 2, element 3."

How can I do that?


Solution

  • Rails has Array#to_sentence that will do the same as array.join(', ') and additionally add "and " before the last item.

    puts "Elements are: #{["element 1", "element 2", "element 3"].to_sentence}."
    

    The rest, as you can see, is just putting it together.