У меня есть метод, который сдвигает все элементы в массиве влево на одну позицию. В моем состоянии публикации мне нужно убедиться, что мои элементы сместились влево на один. Я уже сравнил первый элемент старого массива с последним элементом нового массива. Как пройти через старый массив от 2 до count, перебрать новый массив от 1 до count-1 и сравнить их? Это моя реализация на данный момент.
items_shifted:
old array.deep_twin[1] ~ array[array.count]
and
across 2 |..| (old array.deep_twin.count) as i_twin all
across 1 |..| (array.count-1) as i_orig all
i_twin.item ~ i_orig.item
end
end
end
Я ожидал, что результат будет верным, но вместо этого я получаю нарушение контракта, указывающее на это условие публикации. Я протестировал метод вручную, распечатав массив до и после метода, и получил ожидаемый результат.