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?
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.
@coreyward's answer is close, but his suggestion's output doesn't match the requested output. This will give you exactly what you want:
puts "Elements are: #{array.to_sentence(last_word_connector: ', ')}."
See the docs for more examples and options.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With