circshift
делает то, что вы хотите, согласно принятому ответу. Тем не менее, только добавить к этому, вы также можете управлять индексами вручную:
julia> a = [1,2,3,4];
julia> a[[2:end; 1]] |> show
[2,3,4,1]
julia> a[[3:end; 1:2]] |> show
[3,4,1,2]
В самом деле, что вы делаете здесь «линейный» «целочисленный массив» индексации, так что число элементов может быть более 4-х (то есть одни и те же позиции могут быть доступны несколько раз или вообще не):
julia> a[[3:end; 1:2; 1; 2; 2; 1]] |> show
[3,4,1,2,1,2,2,1]
julia> a[[1:end; end-1:-1:1]] |> show
[1,2,3,4,3,2,1]
то же самое относится и к более высокой размерности массивов:
julia> b = [1 2 3 4; 2 3 4 5; 3 4 5 6; 4 5 6 7];
julia> b[[2:end; 1], [1:3; 2:end; 1]]
4×7 Array{Int64,2}:
2 3 4 3 4 5 2
3 4 5 4 5 6 3
4 5 6 5 6 7 4
1 2 3 2 3 4 1
Это вероятно, хороший кандидат на консолидацию API, поскольку эти функции настолько похожи. – StefanKarpinski