Julia 中 +, -, *, / 运算符可以被重载,但 能否被重载(类似C++)?
根据先前的帖子,至少 adjoint 可以,不知道对应 的重载该怎么处理?
可能要自己写一个Base.getindex
函数吧,记得将参数类型标明就可以了
好的,感谢楼上各位!
struct WaveFunc
psi::Array{ComplexF64,1}
function WaveFunc(n)
new(Array{ComplexF64}(undef, n))
end
end
function Base.getindex(ψ::WaveFunc, i::Int64)
return ψ.psi[i]
end
function Base.setindex!(ψ::WaveFunc, v::ComplexF64, i::Int64)
ψ.psi[i] = v
end
function main()
ψ = WaveFunc(10)
for i = 1:10
ψ[i] = i*0.1*im
end
println(ψ.psi[3])
println(ψ[3])
end
main()