0

当我开发我的应用程序时,我需要一遍又一遍地做大量的数学运算,调整它并再次运行并观察结果。

数学是在从大文件加载的数组上完成的。许多兆字节。不是很大,但问题是每次我运行我的脚本时,它首先必须将文件加载到数组中。这需要很长时间。

我想知道是否有任何与数组类似的外部工作,因为我可以知道数据的位置并获取它。而且它不需要重新加载所有内容。

我对数据库了解不多,只是它们似乎无法按我需要的方式工作。它们没有顺序,总是需要搜索所有内容。它似乎。内存数据库还有可能吗?

如果有人有解决方案,很高兴听到它。

附带问题 - 是否可以让用户输入我的 ruby​​ 程序运行的脚本,这样我就可以让主 ruby​​ 程序无限期地运行?我仍然对用户输入的选项以及它如何工作一无所知。

4

1 回答 1

2

使用Marshal

# save an array to a file
File.open('array', 'w') { |f| f.write Marshal.dump(my_array) }

# load an array from file
my_array = File.open('array', 'r') { |f| Marshal.load(f.read) }

您的操作系统将在保存和加载之间保留文件缓存,即使在使用数据的单独进程运行之间也是如此。

于 2012-08-19T20:08:05.947 回答