Ich arbeite an einer manuellen Rotationsfunktion in Ruby. Aber ich habe festgestellt, dass in einigen Beispielen negative Offsets bestanden. Ist es möglich, von einer negativen Zahl bis zu einem bestimmten Index zu iterieren (nicht sicher, was dieser Index wäre)?Wie behandelt man negative Iterator in Funktion übergeben?
def my_rotate(arr, offset=1)
if offset < 1
for i in offset
arr.push(arr.shift)
end
else
for i in 1..offset
arr.push(arr.shift)
end
end
arr
end
Warum nicht diesen funktionalen/prozeduralen Ansatz ablegen und die eingebauten Methoden auf Array verwenden? Z.B. 'arr.rotate (2)' – coreyward
Auch die [Dokumentation für rotieren] (https://ruby-doc.org/core-2.4.0/Array.html#method-irotate) hat die Quelle für die Methode , so können Sie ziemlich einfach den Algorithmus/Ansatz sehen. – coreyward