gpt4 book ai didi

julia - 如何检查变量是否在 Julia 的模块中定义?

转载 作者:行者123 更新时间:2023-12-04 16:33:28 24 4
gpt4 key购买 nike

isdefined(:x)将告诉您是否在当前工作区中定义了变量 x。

如果我想检查模块中定义的变量(不是导出的),我该怎么做?我尝试了以下所有方法:

julia> module Test
x = 1
end
Test

julia> x
ERROR: UndefVarError: x not defined

julia> isdefined(:x)
false

julia> Test.x
1

julia> isdefined(:Test.x)
ERROR: type Symbol has no field x

julia> isdefined(:Test.:x)
ERROR: TypeError: getfield: expected Symbol, got QuoteNode

julia> isdefined(Test.:x)
ERROR: TypeError: getfield: expected Symbol, got QuoteNode

在上面的模块测试中,我想检查是否定义了 x。

最佳答案

在 Julia 1.1.0 中,isdefined 的第一个参数不是可选的,而是有一个宏 @isdefined(x)@isdefined x测试是否定义了 x。在 Test 中调用它,检查 x 在 Test 中是否定义(继承与否)。
documentation .

关于julia - 如何检查变量是否在 Julia 的模块中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com