【发布时间】:2020-04-28 02:43:41
【问题描述】:
我有一个排序的整数数组,并希望将所有连续整数的子集替换为一个范围,这样:
[1,2,3,4,5,6,7,8,9,10,42]
替换为:
[1..10,42]
这是用户未正确输入的 Google 电子表格中的行列表,无法导入到另一个系统的数据库中。有很多行,通常是几十行。用户更容易看到第 3201-3379 行都是错误的,而不必单独读取每个行号。
我不是要“Array of integers into array of ranges”。
我知道如何编写代码,而且我很乐意这样做,但如果有人已经这样做了,那就不行了。我当前的代码并不优雅,如果已经有一些经过良好测试和优化的东西,我不会费心去重构它。
【问题讨论】:
-
请求(第 3 方)API / 库有特定的关闭原因。是的,这个任务很有用并且已经被编写(用几十种语言)。不,它不在 Ruby 提供的标准库中。 Ruby 也没有提供标准库函数来生成斐波那契数列。虽然这样很容易编写。
-
“我当前的代码不优雅”——没关系。无论如何,请出示它,以便我们看到您面临的问题。