有没有办法增加一个号码。每次在ruby中执行文件。 我在这件事上找不到任何东西。 我想宣布一个不。然后每次执行它所驻留的文件时它都会递增。 我可以使用文件来跟踪最后一个号码。使用但有任何简单的解决方案
答案 0 :(得分:2)
如果你在长期运行的Ruby进程中反复load
该文件,那么这很容易:
$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) }
答案 1 :(得分:0)
为什么不使用ruby的coverage capability或代码覆盖率工具,例如SimpleCov?
答案 2 :(得分: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
这个方法在我每次打电话时都会给我下一个没有,并且由于Alex D
而会跟踪它。