isdefined(:x)
は、現在の作業領域で変数xが定義されているかどうかを示します。Juliaで変数がモジュール内で定義されているかどうかを確認するにはどうすればよいですか?
変数が(エクスポートされていない)モジュールで定義されていることを確認したいのですが、どうすればいいですか?私は次のすべてを試しました:
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が定義されているかどうかをチェックしたいと思います。私はあなたが
:x in names(Test)
または 'isdefined(Test、:x)'です。 'isdefined'にはオプティナルパラメータがあります。 –
@DanGetzあなたのコメントは正しいです、あなたは答えとして投稿できますか? – SalchiPapa
私は@DanGetzの答えにややコンパクトにしておきますが、名前(Module)についても知っておくと非常に便利でした。ありがとう!! –