Как бы я постоянно увеличивал стоимость через определенное время? - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь выяснить, как увеличить переменную на + 20 каждые 10 секунд, есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 24 февраля 2019

Вот как я могу это сделать.

import java.time.LocalTime
import java.time.temporal.ChronoUnit.SECONDS

class Clocker(initial :Long, increment :Long, interval :Long) {
  private val start = LocalTime.now()
  def get :Long =
    initial + SECONDS.between(start, LocalTime.now()) / interval * increment
}

использование:

// start from 7, increase by 20 every 10 seconds
val clkr = new Clocker(7, 20, 10)

clkr.get  //res0: Long = 7

// 11 seconds later
clkr.get  //res1: Long = 27

// 19 seconds later
clkr.get  //res2: Long = 27

// 34 seconds later
clkr.get  //res3: Long = 67
...