Julia:如何将文件 A 的所有变量探索到文件 B 中?

Julia: How can I explore all the variables of file A into file B?

我有几个关于 Julia 的问题。我做了一些在线挖掘,但找不到任何答案。如果我有一个文件 nameA.jl,其中有很多变量(例如,物理常数,如质子质量),当我需要使用时,我如何轻松地 export/call 所有这些变量另一个文件(即 nameB.jl)。

其次,通过 "class" 创建某种 "global" 变量的最佳方法是什么(我知道 Julia 没有类似于 Python 的 class 概念) 或其他方式,这样我就可以轻松访问项目中的任何其他文件并根据需要进行修改。

我确实尝试从 google 那里获得这些答案,但找不到任何帮助。

谢谢

第一个问题:

PhysicalConstants.jl

module PhysicalConstants

export fine_structure_constant, proton_electron_massratio

const fine_structure_constant   = 7.2973525664e-3 
const proton_electron_massratio = 1836.15267247

end # module

使用PhysicalConstants.jl

 importall PhysicalConstants

 this = fine_structure_constant * proton_electron_massratio

 # 13.399053416751173

据我了解你的第二个问题:

ChangeableValues.jl

module ChangeableValues

export changeable_value, change_value, value

type Changeable{T}
   value::T
end

typeof_value{T}(x::Changeable{T}) = T
value{T}(x::Changeable{T}) = x.value

# changeable_value is const for speed
# changeable_value.value is not const
const changeable_value = Changeable(0)

function change_value{T}(new_value::T)
    if T == typeof_value(changeable_value)
        changeable_value.value = new_value
    else
        throw(TypeError())
    end
    return nothing
end


end # module

UseChangeableValue.jl

   import ChangeableValues: changeable_value, change_value, value

   println("value = ", value(changeable_value)) # 0
   change_value(1)
   println("value = ", value(changeable_value)) # 1
   change_value(2)
   println("value = ", value(changeable_value)) # 2

   # it remains 2 when imported elsewhere until it is changed again