如何将数组转换为句子?

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."

我该如何做到这一点?

2个回答

7
Rails提供了Array#to_sentence方法,它与array.join(', ')方法相同,并额外在最后一项之前添加“and ”。
puts "Elements are: #{["element 1", "element 2", "element 3"].to_sentence}."

剩下的部分,你可以看到,只是把它们组合起来。

2
@Backo,这可能是你想要的,但如果你想要与你创建的完全相同的句子,请使用“join(”,“)”替换“to_sentence”。 - rubish

1

@coreyward的回答很接近,但是他的建议输出与所需输出不匹配。这将为您提供完全符合要求的内容:

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

请参阅文档以获取更多示例和选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接