数组 – 如何在Ruby中的两个不同位置将数组转换为具有两个不同分隔符的字符串?

数组 – 如何在Ruby中的两个不同位置将数组转换为具有两个不同分隔符的字符串?,第1张

概述我想在两个不同的地方将一个数组转换为一个带有两个不同分隔符的字符串.含义: array = [1,2,3,4]after converting: separator 1: (":") separator 2: ("and")string = "1:2:3: and 4"ORstring = "1:2 and 3:4" 我如何构建动态和短代码,让我将数组(任意长度)转换为一个字符串,允许我在 我想在两个不同的地方将一个数组转换为一个带有两个不同分隔符的字符串.含义:

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中的两个不同位置将数组转换为具有两个不同分隔符的字符串?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存