いいえをインクリメントする方法はありますか?ファイルが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
rubyのカバレッジ機能やSimpleCovのようなコードカバレッジツールを使ってみませんか?
于 2012-10-10T19:18:12.403 に答える
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 に答える