当前位置:  开发笔记 > 编程语言 > 正文

你如何访问Ruby中的符号表?

如何解决《你如何访问Ruby中的符号表?》经验,为你挑选了1个好方法。

有没有办法在Ruby中访问符号表中的所有内容?我希望能够序列化或以其他方式保存程序运行的当前状态.为此,我似乎需要能够遍历范围内的所有变量.



1> Geo..:

我认为他来自perl背景,并且他想获得脚本中定义的所有变量并将它们序列化.这样,当他加载文件时,他会让他们回来.我仍在搜索如何获取变量列表,但是将使用Marshal.dump进行序列化,并使用Marshal.load进行回读.一旦找到如何获取所有已定义变量的列表,我将编辑该帖子.

编辑:发现它!

您可以通过调用以下方法获取所有变量的列表:

local_variables
global_variables

如果您还没有获得序列化代码,我会建议这样的事情:

创建一个包含变量名称和变量值的类或Struct实例,并将它们添加到数组中:


local_variables.each {|var| my_array << MyVarObject.new(var,eval(var)) } # eval is used to get the value of the variable

然后序列化数组:

data = Marshal.dump(my_array)
File.open("myfile.ser","w") do |file|
  file.puts data
end

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有