朱莉娅:检查数组输入是否为undef

Mag*_*eek 11 julia

Julia检查数组条目是否为#undef的最佳方法是什么?

例:

julia> a = Array(Vector,2)
julia> isdefined(a[1])  # fails
julia> isempty(a[1])    # fails
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 14

您可以isdefined使用isdefined(a, 1)而不是以下方式将访问权限推入isdefined(a[1]):

julia> a = Array(Vector,2);

julia> a[2] = {10}
1-element Array{Any,1}:
 10

julia> a
2-element Array{Array{T,1},1}:
 #undef 
    {10}

julia> isdefined(a[1])
ERROR: access to undefined reference
 in getindex at array.jl:246

julia> isdefined(a, 1)
false

julia> isdefined(a, 2)
true
Run Code Online (Sandbox Code Playgroud)

  • 在较新版本中更改为"isassigned". (6认同)