У меня странная проблема с функцией ruby, которую я написал для удаления ненужных элементов из хэша, созданного путем анализа строки JSON.Функция вернет то, что я ожидаю, когда в функцию будут включены операторы pry, как показано в нижней части этого поста.Когда я удаляю оператор pry, функция возвращает что-то еще.Я не совсем уверен, почему это так, и решил, что я спрошу здесь, пока пытаюсь найти альтернативное решение моей проблемы.
Ниже, слайды - это строка целых чисел, разделенных пробелом, так чтоslides.split ('') возвращает массив целых чисел.Группы слайдов - это проанализированный хэш JSON.Если потребуется, я могу предоставить файл с хэшем JSON, но попытка ввести его здесь разочаровывает.Я не думаю, что нужно видеть хеш, так как кажется, что проблема заключается в pry и его влиянии на функцию.
def selected_slides_and_groups
selected_slide_ids = slides.split(' ')
slide_groups = master_presentation.slide_groups
slide_groups.each do |slide_group|
delete_slides_from_group(slide_group, selected_slide_ids)
end
end
def delete_slides_from_group(slide_group, selected_slide_ids)
binding.pry
slide_group[:content].delete_if do |item|
if item[:type] == 'group'
delete_slides_from_group(item, selected_slide_ids)
elsif selected_slide_ids.include? item[:id]
next
else
true
end
end
binding.pry
end