【发布时间】:2016-10-06 00:24:45
【问题描述】:
当函数返回 Void 类型时,最好的处理方法是什么? http://docs.julialang.org/en/release-0.5/manual/faq/#how-does-null-or-nothingness-work-in-julia 中的建议不起作用。
MWE(必须从 REPL 运行,因此 Base.source_dir() 返回 Void):
julia> isempty(Base.source_dir())
ERROR: MethodError: no method matching start(::Void)
Closest candidates are:
start(::SimpleVector) at essentials.jl:170
start(::Base.MethodList) at reflection.jl:258
start(::IntSet) at intset.jl:184
...
in isempty(::Void) at ./iterator.jl:3
in isempty(::Void) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
julia> isdefined(Base.source_dir())
ERROR: TypeError: isdefined: expected Symbol, got Void
julia> typeof(Base.source_dir()) == Void
true
这是在 Julia 0.5 上。后一个选项有效,但有点难看。
【问题讨论】:
标签: julia