我正试图找到在Julia中使用终结器的正确方法
请参阅Julia文档:
终结者(x,函数)
当没有程序可访问的x引用时,注册要调用的函数f(x).如果x是位类型,则此函数的行为是不可预测的.
首先,我使用TestModule.jl生成了一个TestModule标准包
#in TestModule.jl
module TestModule
end
finalizer(TestModule,(t)->println("fin"))
Run Code Online (Sandbox Code Playgroud)
还有一个runtest.jl
#in runtest.jl
using Base.Test
using TestModule
Run Code Online (Sandbox Code Playgroud)
然后我尝试测试Package但是在测试通过时我收到了ERROR:
julia> Pkg.test("TestModule")
INFO: Testing TestModule
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF
jl_uv_writecb() ERROR: bad file descriptor EBADF …
Run Code Online (Sandbox Code Playgroud) julia ×1