我知道在julia中创建二元运算符重载很容易,例如。
+(x,y)= x * y
我也知道a [i]是getindex和setindex的缩写!
我想知道如何重载子数组运算符,例如
一个[I,J,:,3:
我相信这只是一个被调用的函数,但无法找到它的名字
答案 0 :(得分:5)
@which
宏有助于找到正确的重载方法:
julia> sample=rand(3,4,5);
julia> @which(sample[1,1,1])
getindex(A::Array{T,N}, i1::Real, i2::Real, I::Real...) at array.jl:283
julia> @which(sample[1,1,:])
getindex(A::AbstractArray{T,N}, I...) at abstractarray.jl:487