TI-Nspire & Lua / タイマーの tick するたびに経過時間を出力する / グローバル変数に頼らない / クロージャを使ってみる

TI-Nspire & Lua / タイマーの tick するたびに経過時間を出力する / グローバル変数に頼らない / コルーチンを使ってみる の続き
 
Every time a timer ticks, the following script will return the elapsed time.
As a trial, a closure has been used.


.lua

function elapsedTime()
   local counter = 0
   local initTime = timer.getMilliSecCounter()
   return function()
              counter = counter + 1
              return (timer.getMilliSecCounter() - initTime) / 1000, counter
          end
end
timer.epalsedTime = elapsedTime()

----------------------------------------
----------------------------------------
----------------------------------------
function on.construction()
   var.store("time", {})
   on.timer()
   timer.start(2)
end
function on.timer()
   local Time, At = timer.epalsedTime()
   var.storeAt("time", Time, At)
end