Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby-来自单词数组的类似英语句子的列表_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby-来自单词数组的类似英语句子的列表

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_句子(选项={}) “将数组转换为逗号分隔的句子,其中最后一个元素由连接词连

是否有Ruby/Rails“魔力”助手可以从一系列单词中找到,比如

["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,编辑得很好,不知道连接器选项。