Utwórz stoper
timer [instrukcje] dt
(timer [instrukcje] dt opóźnienie)
(timer [instrukcje] dt opóźnienie n)
timer funkcja dt
(timer funkcja dt opóźnienie)
(timer funkcja dt opóźnienie n)
timer sygnał dt
(timer sygnał dt opóźnienie)
(timer sygnał dt opóźnienie n)
Tworzy stoper, który w regularnych odstępach czasu dt (podanych w milisekundach) wykonuje listę instrukcji
lub funkcję lub wysyła sygnał. Opcjonalnie można podać opóźnienie (w milisekundach) wykonania pierwszej
iteracji oraz liczbę iteracji n, jaką ma wykonać stoper.
Przykład 1:
"t := (timer [(print :iter :dt :time)] 300 50 3)
Rezultat wykonania:
W każdym wierszu wynik wykonania pojedynczej iteracji: numer iteracji, czas od ostatniej iteracji i całkowity czas od
uruchomienia stopera.
1 51.0078125 51.0078125
2 300.015625 351.0234375
3 300.0234375 651.046875
Przykład 2:
Funkcja wykonywana przez stoper ma dostęp do samego stopera (pierwszy argument funkcji) - umożliwia to np. programowe
zatrzymanie stopera przy pomocy instrukcji stoptimer
.
to fn :tx :iter :dt :time
(print :iter :dt :time)
end
"t := (timer $fn 300 50 3)
Rezultat wykonania:
W każdym wierszu wynik wykonania pojedynczej iteracji: numer iteracji, czas od ostatniej iteracji i całkowity czas od
uruchomienia stopera.
1 57.0078125 57.0078125
2 300.015625 357.0234375
3 300.0234375 657.046875
Przykład 3:
to onsignaltick :turtle :data
(print :turtle :data)
end
"t := (timer "tick 300 50 3)
Rezultat wykonania:
W każdym wierszu wynik wykonania pojedynczej iteracji: nazwa żółwia i tablica zawierająca numer iteracji, czas od
ostatniej iteracji i całkowity czas od uruchomienia stopera.
first {1 49.9921875 49.9921875}
first {2 300.0234375 350.015625}
first {3 302.015625 652.03125}
Zobacz także:
Stoper
Funkcja jako wartość
Obsługa zdarzeń i sygnałów
Spis treści