Я пытаюсь понять, как я могу изменить массив целых чисел в массив диапазонов. Например, я хочу взять этот массив:Массив целых чисел в массив диапазонов
ar = [0, 49, 14, 30, 40, 23, 59, 101]
в
ar = [0..49, 14..30, 40..23, 59..101]
Учитывая массив всегда будет четным. Я хочу, чтобы каждое из двух значений было границ границ.
Я попытался разделить его на два массива. Один с нечетными индексами второй с четным.
a = ar.select.with_index{|_,i| (i+1) % 2 == 1}
b = ar.select.with_index{|_,i| (i+1) % 2 == 0}
Я не имею представление о том, как использовать их для создания диапазонов, и я хотел бы, чтобы избежать создания избыточных переменных, как a
и b
. Я не хочу сортировать значения. Диапазон 40..23
намеренно.
Идеальный ответ (у) – Salil
Спасибо, это действительно кратким. – Gregy