我有这个结构:
Base.@kwdef struct example_struc
Latitude::Float64 = 9.9 # Latitude (degree)
Longitude::Float64 = -83.7 # Longitude (degree)
end
Run Code Online (Sandbox Code Playgroud)
example_struc()由于默认值,@kwdef 允许我在不提供所有参数的情况下实例化 an ,例如:
julia> a= example_struc(Longitude= 40.0)
julia> a.Latitude
9.93833
julia> a.Longitude
40.0
Run Code Online (Sandbox Code Playgroud)
我想通过传递给example_struc参数的名称及其值以编程方式(从文件中读取的元组)实例化它。
我可以使用这样的元编程为一个论点做到这一点:
# Named tuple usually read from a file:
params= (Latitude = 43.61, Longitude = 3.877)
params_names= collect(keys(params))
Run Code Online (Sandbox Code Playgroud)
lat= :($(params[1]))
lat_name= :($(params_names[1]))
e= :(example_struc($(lat_name)= $(lat)))
a= eval(e)
Run Code Online (Sandbox Code Playgroud)
e看起来像这样:(example_struc(Latitude=43.61)),并且和a以前完全一样。
Now in my …
我正在开发一个也已注册的软件包。因此,我的dev文件夹中有一个版本(“ C:/ Users //。julia / dev”),并且我还安装了最新的注册版本,就好像我没有开发它一样。所以我的问题是,当需要时,如何确定使用开发版本?看来,如果我不删除注册版本,它只会使用该版本而不是dev版本,即使如此,我也将我的dev路径添加到Julia的加载路径中。
julia ×2