Ruby доступ к массивам нескольких массивов по индексам (sub array)

У меня есть массив, и у меня есть массив с индексами определенных элементов из первого массива. Каков наилучший способ получить элементы из первого массива?

Я делаю:

result = []
indexes.each { |current| result << my_array[current] }

Но должен быть лучший способ.

Ответ 1

Вы можете использовать карту Array #:

indexes.map { |i| my_array[i] }

Или еще лучше, Array # values_at

my_array.values_at(*indexes)

Где символ * извлекает массив в аргументы, которые передаются методу.