有什么办法可以增加号码。每次在 ruby 中执行文件时。我没有在这件事上找到任何东西。我想声明一个不。然后每次执行它所在的文件时它都会递增。我可以使用文件来跟踪最后没有。用过,但有什么简单的解决方案
问问题
128 次
3 回答
2
如果你load
在一个长时间运行的 Ruby 进程中反复 ing 文件,那么这很容易:
$times_loaded ||= 0
$times_loaded += 1
如果您每次都在一个新的 Ruby 解释器进程中运行该文件,那么您将不得不使用一个文件(它不能以任何其他方式工作)。您可以使 Ruby 文件自修改:
# THIS FILE HAS RUN 0 TIMES
me = File.read(__FILE__)
me.sub!(/THIS FILE HAS RUN \d+ TIMES/) { |s| "THIS FILE HAS RUN #{s[/\d+/].to_i + 1} TIMES" }
File.open(__FILE__,'w') { |f| f.write(me) }
于 2012-10-10T13:53:05.247 回答
0
# 0 TIMES
def get_no
me = File.read(__FILE__)
me.sub!(/ \d+ TIMES/) { |s| " #{s[/\d+/].to_i + 1} TIMES" }
l=me.split("\n")
File.open(__FILE__,'w') { |f| f.write(me) }
return l[0][/\d+/]
end
每次我调用它时,这个方法都会给我下一个 no 并且还会跟踪它,这要感谢 Alex D
于 2012-10-11T07:19:39.000 回答