Итак, есть несколько проблем.Для начала, вы не можете подписывать массивы, выполняя h.[anything]
, и вы также подписываетесь на основе значения (а не индекса).Вы также проверяете, соответствует ли параметр буквальной строке «стартовый_парам», а не его значению.Итак, я ожидаю, что вы хотите следующее:
h.each_with_index do |param, index|
if param == startingParam
holdingArray << h[index]
holdingArray << h[index+1]
holdingArray << h[index+2]
end
end
Вы также заметите, что если элемент находится в последних двух слотах массива, он будет обернут и захватит элементы с началамассив (из-за того, как Ruby обрабатывает подписки массива вне границ).