EDIT:それはそれとは関係ありません。私は似たような状況で誰にでも答えています。ジュリアREPLは、モジュールのコードを変更した後にモジュール変数を更新しません。
私はジュリアを1ヶ月前に発見し、それ以来それに魅了されています。 しかし、コンパイル(または可変スコープ)はまだ私にとっては明らかではないようです。
私はplots.jl
で、このモジュールがあります。
module plottinghhkp
instance_path = "somestring"
function dosomething()
...
end
...
end
をしてから
julia> include("plots.jl")
...
julia> hhkplot.instance_path
julia> "somestring"
私はその後、instance_path
を変更し、再インポートもう一度include
を使用して、モジュールの機能を実行するために、REPLでそれを含むが、 instance_path
は、新しい値の代わりに古い値を示します。
julia> include("plots.jl")
...
julia> plottinghhkp.instance_path
"somestring"
マイソリューションが新しいシンボルが作成されるようにinstancepath
に変数の名前を変更することでした、しかし、オートコンプリートは今示しています
julia> plottinghhkp.
instance_path instancepath
julia> plottinghhkp.instancepath
"newvalue"
julia> plottinghhkp.instance_path
"somestring"
INSTANCE_PATHシンボルはモジュール内にもはや存在しない場合。 workspace()
で新鮮な環境を作成することは決して終わりません。
どうしてですか?ジュリアをプリコンパイルせずに明示的にロードする必要がありますか、または__precompile__(false)
をモジュールに追加する必要はありますか?それとも、可変スコープに関するものなのでしょうか?
ありがとうございました。