I can write a function to do it, but I'm wondering if there is some built-in or commonly-used way to re-order a list so that the elements keep their same order, but with a different starting point.
>> l = ["a", "b", "c", "d", "f"]
>> l.start_from("c")
["c", "d", "f", "a", "b"]
My specific use case is music-related. (The capital letters are note objects, but don't worry about that too much.)
c_major_scale = [C, D, E, F, G, A, B, C]
a_minor_scale = c_major_scale.start_from(A)
d_dorian_scale = c_major_scale_start_from(D)
etc.