Ruby on rails Ruby-来自单词数组的类似英语句子的列表
是否有Ruby/Rails“魔力”助手可以从一系列单词中找到,比如Ruby on rails Ruby-来自单词数组的类似英语句子的列表,ruby-on-rails,ruby,Ruby On Rails,Ruby,是否有Ruby/Rails“魔力”助手可以从一系列单词中找到,比如 ["Sugar", "Water", "Lemons", "Tea"] 到一个可以放在句子中的字符串: "Sugar, Water, Lemons and Tea" 我知道array.join(),但最后一个条目前的“and”很重要。 我之所以这么问,是因为我知道Ruby和Rails有很多隐藏在黑暗中的有用方法,我想让我的代码尽可能保持干净 to_句子(选项={}) “将数组转换为逗号分隔的句子,其中最后一个元素由连接词连
["Sugar", "Water", "Lemons", "Tea"]
到一个可以放在句子中的字符串:
"Sugar, Water, Lemons and Tea"
我知道array.join()
,但最后一个条目前的“and”很重要。我之所以这么问,是因为我知道Ruby和Rails有很多隐藏在黑暗中的有用方法,我想让我的代码尽可能保持干净
to_句子(选项={})
“将数组转换为逗号分隔的句子,其中最后一个元素由连接词连接。”
例如:
[“糖”、“水”、“柠檬”、“茶”]。to#u句子#=>“糖、水、柠檬和茶”
您还可以传递选项,例如什么应该是您的最后一个单词连接器:
[“糖”、“水”、“柠檬”、“茶”]。to_句子(最后一个单词连接词:'or')#=>“糖、水、柠檬或茶”
编辑:
正如Max Williams所指出的,默认情况下,这将在最后一个单词旁边留下一个逗号。为了避免这种情况,您可以显式地将和“
声明为您的最后一个单词连接器,因为默认值似乎是”和“
[“糖”、“水”、“柠檬”、“茶”]。to_句子(最后一个单词连接词:'and')#=>“糖、水、柠檬和茶”
似乎这就是你要找的:)
to_句子(选项={})
“将数组转换为逗号分隔的句子,其中最后一个元素由连接词连接。”
例如:
[“糖”、“水”、“柠檬”、“茶”]。to#u句子#=>“糖、水、柠檬和茶”
您还可以传递选项,例如什么应该是您的最后一个单词连接器:
[“糖”、“水”、“柠檬”、“茶”]。to_句子(最后一个单词连接词:'or')#=>“糖、水、柠檬或茶”
编辑:
正如Max Williams所指出的,默认情况下,这将在最后一个单词旁边留下一个逗号。为了避免这种情况,您可以显式地将和“
声明为您的最后一个单词连接器,因为默认值似乎是”和“
[“糖”、“水”、“柠檬”、“茶”]。to_句子(最后一个单词连接词:'and')#=>“糖、水、柠檬和茶”
试试这个
pry(main)> ["Sugar", "Water", "Lemons", "Tea"].to_sentence
=> "Sugar, Water, Lemons, and Tea"
或
试试这个
pry(main)> ["Sugar", "Water", "Lemons", "Tea"].to_sentence
=> "Sugar, Water, Lemons, and Tea"
或
您仍然可以使用join,只需分别执行最后一个元素
def commas_with_and(arr)
arr[0..-2].join(", ") << " and " << arr[-1]
end
arr = ["Sugar", "Water", "Lemons", "Tea"]
commas_with_and(arr)
>> "Sugar, Water, Lemons and Tea"
def逗号带_和(arr)
arr[0..-2]。加入(“,”)糖、水、柠檬和茶
您仍然可以使用join,只需分别执行最后一个元素
def commas_with_and(arr)
arr[0..-2].join(", ") << " and " << arr[-1]
end
arr = ["Sugar", "Water", "Lemons", "Tea"]
commas_with_and(arr)
>> "Sugar, Water, Lemons and Tea"
def逗号带_和(arr)
arr[0..-2]。加入(“,”)糖、水、柠檬和茶
在“and”之前加了一个逗号,所以这不是他想要的。这是臭名昭著的“牛津逗号”,吸血鬼周末对此不予理睬。:)明白我的意思了!Ruby只是加载了这些神秘的方法。谢谢@rorofromfranceAh,编辑得不错,他不知道连接器选项。这在“and”之前加了一个逗号,所以这不是他想要的。这是臭名昭著的“牛津逗号”,吸血鬼周末对此不予理睬。:)明白我的意思了!Ruby只是加载了这些神秘的方法。谢谢@rorofromfranceAh,编辑得很好,不知道连接器选项。