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

Cur*_*ity 5 global export julia

我有几个关于朱莉娅的问题。我在网上进行了一些挖掘,但找不到任何答案。如果我有一个名为 A.jl 的文件,其中包含大量变量(例如,质子质量等物理常数),当我需要在另一个文件中使用时(即,如何轻松导出/调用所有这些变量) ,名称B.jl)。

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

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

谢谢

Jef*_*off 3

对于你的第一个问题:

物理常数.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
Run Code Online (Sandbox Code Playgroud)

使用物理常数.jl

 importall PhysicalConstants

 this = fine_structure_constant * proton_electron_massratio

 # 13.399053416751173
Run Code Online (Sandbox Code Playgroud)

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

可变值.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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)