タイム スタンプを収集し、実行時間をメモ付きで生成する基本的なプロファイリング ツールを作成したいと考えています。唯一の問題は、グローバル変数を使用せずにこれを行う方法を理解するのに苦労していることです。私が達成しようとしている機能を実装する「正しい」方法は何ですか? R にこの機能が既に組み込まれている場合、それは素晴らしいことですが、ここで私が実際に理解しようとしているのは、グローバル変数の使用を避け、より堅牢なコードを記述する方法です。
timeStamps = c()
runTimes = list()
appendRunTimes <- function(note) {
if(length(timeStamps) < 1) {
timeStamps <<- Sys.time()
}
else {
timeStamps <<- c(timeStamps, Sys.time())
diff <- timeStamps[length(timeStamps) ] - timeStamps[length(timeStamps) - 1]
runTimes <<- c(runTimes, format(diff))
names(runTimes)[length(runTimes)] <<- note
}
}
appendRunTimes('start')
Sys.sleep(4)
appendRunTimes('test')