julia> x=3
3
julia> x
3
例如这个代码x=3,第二次输入x就有3的结果,那么这个x=3存储在哪里,Julia有没有函数能够直接调出来这些变量的值(就像JuliaPro的workspace一样)
试过varinfo(),但是只显示变量不显示值
name size summary
–––––––––––––––– ––––––––––– –––––––
Base Module
Core Module
InteractiveUtils 184.955 KiB Module
Main Module
ans 8 bytes Int64
x 8 bytes Int64
REPL里定义的变量在Main模块里
julia> x=3
3
julia> Main.x
3
julia> Main.eval(:x)
3
julia> names(Main)
6-element Array{Symbol,1}:
:Base
:Core
:InteractiveUtils
:Main
:ans
:x
这个Main模块有本地文件吗,就跟logs里的那个repl_history一样
没有,REPL启动的时候创建,并且默认会导入Base和Core这两个模块。
Julia本身有序列化机制,但是不推荐用。另外没有保存整个workspace的方法。
如果只是普通的数组之类的可以用文本方式的DelimitedFiles、CSV,或者直接写入二进制。复杂的数据储存需求建议使用https://github.com/JuliaIO/JLD.jl 。
Roger
2020 年5 月 28 日 05:01
9
JLD2会更好一些,JLD依赖C的HDF5,不如native的友好。另外序列化Julia数据还可以选择BSON