相关疑难解决方法(0)

范围数组的索引数组

红宝石的范围非常酷.我最终得到这样的数组:

geneRanges = [(234..25), (500..510), (1640..1653)]
Run Code Online (Sandbox Code Playgroud)

然后必须删除它们的一部分.为此我:

genePositions = geneRanges.collect {|range| range.entries }.flatten
=> [500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653]
Run Code Online (Sandbox Code Playgroud)

它们被操纵,因此一些数字被排除在外,其他数字可能被添加.我最终可能会这样:

[505, 506, 507, 600, 601, 602, 603, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654]
Run Code Online (Sandbox Code Playgroud)

如何将其转换回紧凑的范围数组?似乎反函数应该存在?我希望它能返回这样的东西:

[(505..507), (600..603), (1643..1654)]
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby arrays range

10
推荐指数
4
解决办法
2852
查看次数

标签 统计

arrays ×1

range ×1

ruby ×1