Ah so thats what its called. Thanks for the links. I do hope that gets into Base.
On Tuesday, March 22, 2016 at 5:19:36 AM UTC-7, mschauer wrote: > > > Hello, > there is relevant discussion and a sketch how to implement something like > this at > > http://stackoverflow.com/questions/30159815/is-there-a-julia-equivalent-to-numpys-ellipsis-slicing-syntax/30163887#30163887 > and > https://github.com/JuliaLang/julia/issues/5405 > > > Am Dienstag, 22. März 2016 13:10:56 UTC+1 schrieb Luke Stagner: >> >> Hello, >> >> I've recently come across a situation where I needed to index an array >> a[:,:,i,j] >> >> without having to know how many colons I needed. >> >> I accomplished this with the following code. >> function recursive_slicedim(A,dims,inds) >> d_len = length(dims) >> s = slicedim(A,dims[d_len],inds[d_len]) >> if d_len != 1 >> return recursive_slicedim(s,dims[1:d_len-1],inds[1:d_len-1]) >> else >> return s >> end >> end >> >> function tail_index(A,inds) >> s_len = length(size(A)) >> i_len = length(inds) >> dims = tuple([s_len - i for i=i_len-1:-1:0]...) >> >> return squeeze(recursive_slicedim(A,dims,inds),dims) >> end >> >> a = rand(2,2,2,2) >> tail_index(a,(1,2)) == a[:,:,1,2] >> >> b = rand(2,2,2) >> tail_index(b,(1,2)) == b[:,1,2] >> >> Does something like this already exist in Base? >> How would I go about writing some syntactic sugar for this function? >> Something like >> a[*,1,2] == last_index(a,(1,2)) >> >> >> >>