Это из-за проблемы с домашним заданием, поэтому я постарался пройти через это столько, сколько мог, прежде чем прийти сюда за помощью.У меня это решено на 95%, я просто не могу понять синтаксис последнего бита или какой метод мне следует использовать, если он отличается от того, что я делаю сейчас.Я не могу найти никакого решения для этого онлайн, которое на самом деле не является ответом моих одноклассников, и я избегаю нажимать на них, чтобы посмотреть, как они закончили проблему.
Я могу вернуть строку без форматирования, если онаимеет только один элемент, только со словом «и», когда есть два элемента, и я могу добавить запятые и слово «и», когда имеется более трех элементов.Однако я не могу пропустить добавление последней запятой, когда массив содержит более трех элементов.
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 ==)