我在看陈久宁读julia文档的视频,遇到一个问题,不知道各位是否遇到过。
在代码(如下)确定没有问题的情况下,我运行报错:没有MapArray方法。
然后我退出julia,再重新打开julia程序,然后运行就正常了。
这是环境切换的问题吗?有什么快捷操作吗?
julia> struct MapArray{T, N, F, AT<:AbstractArray{T,N}} <: AbstractArray{T,N}
f :: F
data :: AT
end
julia> Base.size(X::MapArray) = size(X.data)
julia> Base.getindex(X::MapArray, inds::Int...) = X.f(X.data[inds...])
julia> data = [1,2,3,4]
4-element Vector{Int64}:
1
2
3
4
julia> f(x) = x>2 ? 1 : 0
f (generic function with 1 method)
julia> MapArray(f, data)
4-element MapArray{Int64, 1, typeof(f), Vector{Int64}}:
0
0
1
1