7

我正在使用 Ruby on Rails v3.0.9,我想在一个句子中“转换”一个字符串数组,包括标点符号。也就是说,如果我有一个如下所示的数组:

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

我想得到\构建:

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

我怎样才能做到这一点?

4

2 回答 2

7

Rails 具有与最后一项Array#to_sentence相同的功能,array.join(', ')并在最后一项之前添加“and”。

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

如您所见,其余的只是将它们放在一起。

于 2011-08-21T23:51:08.693 回答
1

@coreyward 的答案很接近,但他的建议输出与请求的输出不匹配。这将为您提供您想要的:

puts "Elements are: #{array.to_sentence(last_word_connector: ', ')}."

有关更多示例和选项,请参阅文档

于 2016-01-20T18:10:36.673 回答