每次在Ruby中运行脚本时如何增加变量?

时间:2018-07-11 04:27:27

标签: ruby

我有一个Ruby脚本,我想在每次运行时递增一个全局变量。这可能吗?

1 个答案:

答案 0 :(得分:1)

一旦Ruby关闭,显然它包含的所有内存都会丢失,因此,使值在两次运行之间持久的唯一方法是在外部存储它。明显的地方是一个文件。

有许多不同的输出数据的方式和不同的存储方式,例如Ruby的Marshal格式,XML,简单文本和JSON等。

如果您只需要一个简单的数字,那么简单的文字将最容易演示。

要存储号码:

$global = 10
File.open('global.txt', 'wb') { |file| file.write($global.to_s) }

要加载它:

File.open('global.txt', 'rb') { |file|  $global = file.read.to_i }

此代码未经测试,仅演示了实现此目的的最简单方法,不一定是最好的方法。我将由您自己决定递增该变量并在每次运行时重新保存它。

阅读可以简化为不使用块,但是我只是为了示例而保持类似的风格。