array = [1,2,3,4]after converting: separator 1: (":") separator 2: ("and")string = "1:2:3: and 4"ORstring = "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(",and " + last result = result + last return result endend
有人可以帮我建立一个更好,更短,更抽象的方法吗?
解决方法pos = 2[array[0...pos],array[pos..-1]]. map { |e| e.join ':' }. join(' and ')#⇒ "1:2 and 3:4"总结
以上是内存溢出为你收集整理的数组 – 如何在Ruby中的两个不同位置将数组转换为具有两个不同分隔符的字符串?全部内容,希望文章能够帮你解决数组 – 如何在Ruby中的两个不同位置将数组转换为具有两个不同分隔符的字符串?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)