这是一个家庭作业的问题,所以在我来这里寻求帮助之前,我尽可能地解决了它。我已经解决了95%的问题,我只是不知道最后一位的语法,或者如果它与我现在所做的不同,我应该使用什么方法。我在网上找不到任何不是我同学的答案的解决方案,我避免点击这些答案来查看他们是如何完成这道题的。
如果字符串只有一个元素,那么我可以返回没有格式的字符串,当有两个元素时,我可以只返回单词' and‘,当有超过三个元素时,我可以添加逗号和单词' and’。但是,当数组包含三个以上的元素时,我似乎不能跳过添加最后一个逗号。
def oxford_comma(array)
if array.length == 2
array.join(" and ")
elsif array.length > 2
array.insert(-2, "and")
array[0..-1].join(", ")
else
array.join
end
end
下面是我得到的错误消息:
Failure/Error: expect(oxford_comma(["kiwi", "durian", "starfruit", "mangos", "dragon fruits"])).to eq("kiwi, durian, starfruit, mangos, and dragon fruits")
expected: "kiwi, durian, starfruit, mangos, and dragon fruits"
got: "kiwi, durian, starfruit, mangos, and, dragon fruits"
(compared using ==)
https://stackoverflow.com/questions/56518068
复制相似问题