Ответ 1
Вы можете использовать карту Array #:
indexes.map { |i| my_array[i] }
Или еще лучше, Array # values_at
my_array.values_at(*indexes)
Где символ * извлекает массив в аргументы, которые передаются методу.
У меня есть массив, и у меня есть массив с индексами определенных элементов из первого массива. Каков наилучший способ получить элементы из первого массива?
Я делаю:
result = []
indexes.each { |current| result << my_array[current] }
Но должен быть лучший способ.
Вы можете использовать карту Array #:
indexes.map { |i| my_array[i] }
Или еще лучше, Array # values_at
my_array.values_at(*indexes)
Где символ * извлекает массив в аргументы, которые передаются методу.