Converts the array to a comma-separated sentence where the last element is joined by the connector word.
You can pass the following options to change the default behavior. If you
pass an option key that doesn't exist in the list below, it will raise
an ArgumentError
.
Options
-
:words_connector
- The sign or word used to join the elements in arrays with two or more elements (default: â, â). -
:two_words_connector
- The sign or word used to join the elements in arrays with two elements (default: â and â). -
:last_word_connector
- The sign or word used to join the last element in arrays with three or more elements (default: â, and â). -
:locale
- Ifi18n
is available, you can set a locale and use the connector options defined on the 'support.array' namespace in the corresponding dictionary file.
Examples
[].to_sentence # => "" ['one'].to_sentence # => "one" ['one', 'two'].to_sentence # => "one and two" ['one', 'two', 'three'].to_sentence # => "one, two, and three" ['one', 'two'].to_sentence(passing: 'invalid option') # => ArgumentError: Unknown key :passing ['one', 'two'].to_sentence(two_words_connector: '-') # => "one-two" ['one', 'two', 'three'].to_sentence(words_connector: ' or ', last_word_connector: ' or at least ') # => "one or two or at least three"
Using :locale
option:
# Given this locale dictionary: # # es: # support: # array: # words_connector: " o " # two_words_connector: " y " # last_word_connector: " o al menos " ['uno', 'dos'].to_sentence(locale: :es) # => "uno y dos" ['uno', 'dos', 'tres'].to_sentence(locale: :es) # => "uno o dos o al menos tres"
Please login to continue.