首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Ruby中使用数组方法将字符串数组转换为带有牛津逗号的列表

如何在Ruby中使用数组方法将字符串数组转换为带有牛津逗号的列表
EN

Stack Overflow用户
提问于 2019-06-10 04:15:33
回答 3查看 846关注 0票数 0

这是一个家庭作业的问题,所以在我来这里寻求帮助之前,我尽可能地解决了它。我已经解决了95%的问题,我只是不知道最后一位的语法,或者如果它与我现在所做的不同,我应该使用什么方法。我在网上找不到任何不是我同学的答案的解决方案,我避免点击这些答案来查看他们是如何完成这道题的。

如果字符串只有一个元素,那么我可以返回没有格式的字符串,当有两个元素时,我可以只返回单词' and‘,当有超过三个元素时,我可以添加逗号和单词' and’。但是,当数组包含三个以上的元素时,我似乎不能跳过添加最后一个逗号。

代码语言:javascript
复制
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

下面是我得到的错误消息:

代码语言:javascript
复制
         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 ==)
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56518068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档