如何将数字数组转换为范围

我正在寻找将带间隙的数字数组转换为Ruby中多个范围的数组。

每个范围应确定序列中的差距:

[1,2,3,5,6,8,9,10,11,12]

预期结果将是:

[1-3, 5-6, 8-12]

我还没有想出任何好的办法来解决这个问题。我该如何解决呢?

奥雅纳(Arup Rakshit)

我将使用以下方法Enumerable#slice_before

a = [1,2,3,5,6,8,9,10,11,12]
prev = a[0]
p a.slice_before { |e|
  prev, prev2 = e, prev
  prev2 + 1 != e
}.map{|b,*,c| c ? (b..c) : b }
# >> [1..3, 5..6, 8..12]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将整数转换为数字数组

来自分类Dev

如何将整数转换为数字数组

来自分类Dev

如何将字符串数组数组转换为数字数组数组?

来自分类Dev

将数字数组转换为范围字符串

来自分类Dev

Python:如何将4位数字数组按位转换为更大的数字?

来自分类Dev

Python:如何将4位数字数组按位转换为更大的数字?

来自分类Dev

在Hive中,如何将字符串数组转换为数字数组

来自分类Dev

将数字转换为数字数组

来自分类Dev

Ruby:如何将IP范围转换为IP数组

来自分类Dev

如何将整数范围转换为 PHP 数组

来自分类Dev

如何将文本值转换为Access数字数据类型

来自分类Dev

如何将文本和数字数据的混合转换为Apache Spark中的特征数据

来自分类Dev

JAVA:将BigInteger转换为数字数组

来自分类Dev

Java将字符串转换为数字数组

来自分类Dev

将数字数组转换为正常分数

来自分类Dev

如何将数字数组变成对象数组

来自分类Dev

如何在Ruby中将数字数组转换为矩阵

来自分类Dev

如何在Javascript中将数字数组转换为整数

来自分类Dev

将数字数组转换为单个数字,加1,然后转换回数字数组

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为文本

来自分类Dev

如何将位数转换为数字

来自分类Dev

如何将数字转换为字符?

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为unicode?

来自分类Dev

如何将货币转换为数字?

来自分类Dev

如何将时间转换为数字?

来自分类Dev

如何将字符串转换为数字范围(浮点数)?

来自分类Dev

Ruby中是否有任何优雅的方法可以将数字转换为数字数组

Related 相关文章

热门标签

归档