我希望将一个数组转换为一个字符串,其中在两个不同的位置使用两个不同的分隔符。意思是:
array = [1,2,3,4]
after converting: separator 1: (":") separator 2: ("and")
string = "1:2:3: and 4"
OR
string = "1:2 and 3:4"
我该如何构建动态和简短的代码,使我能够将一个长度任意的数组转换为字符串,并允许我在不同的位置插入多个分隔符。
我的当前解决方案很混乱和丑陋: 我使用了 #join 并只提供了单个参数。
def oxford_comma(array)
if array.length == 1
result_at_1 = array.join
return result_at_1
elsif array.length == 2
result_at_2 = array.join(" and ")
return result_at_2
elsif array.length == 3
last = array.pop
result = array.join(", ")
last = ", and " + last
result = result + last
elsif array.length > 3
last = array.pop
result = array.join(", ")
last = ", and " + last
result = result + last
return result
end
end
有人能帮我找到更好、更短、更抽象的方法来完成这件事吗?