gpt4 book ai didi

metaprogramming - 在运行时将变量保存到文件

转载 作者:行者123 更新时间:2023-12-01 12:28:29 26 4
gpt4 key购买 nike

我正在寻找 Julia 中与 Matlab 相媲美的一些功能

save('myfile.mat', 'myvar1', 'myvar2')

比如使用HDF5.jl,很容易做到

@write filename myvar1 myvar2

但这要求我确切地知道要将哪些变量写入文件。

我希望能够在函数范围内在运行时选择要写入的变量,并使用符号或字符串指定它们的名称。

vars = [:myvar1, :myvar2]
@write filename vars

实现此目标的最佳方法是什么?

编辑

我知道我可以使用 JLD.jl 中的 save 作为 save("file.jld", "myvar1", myvar1)。但我希望能够保存编译时未知的变量列表,允许一次调用 save (或类似的):

if condition
myvar1 = 1
vars = [:myvar1]
else
myvar1 = 1
myvar2 = 2
vars = [:myvar1, :myvar2]
end

# what goes here?
save(filename, vars...)

最佳答案

您可能想看一下 JLD package ,它建立在 HDF5 之上,更好地支持用户定义的 Julia 类型。 HDF5 和 JLD 都为 save 提供了为变量获取运行时名称的函数。

关于metaprogramming - 在运行时将变量保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37008846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com