Size: a a a

2019 November 02

RI

Ruslan Ibragimov in Kotlin Start
central hardware
можно ли завести lombok в котлине?
В гугл есть куча ответов на этот вопрос. Основные поинты:

1. Ломбок хачная штука, завести можно но kapt и боль, того не стоит
2. Большого смысла в kotlin не имеет, все что он делает можно решить самим языком
3. Если нужно для миграции, то лучше сделать delombok и мигировать джавовый бойлерплейт, чему мучаться с ним
источник

Н

Никита🎄🎄 in Kotlin Start
central hardware
можно ли завести lombok в котлине?
У нас в проекте он процессит джава-код
источник

Н

Никита🎄🎄 in Kotlin Start
Котлин и ломбок живут параллельно
источник

ch

central hardware in Kotlin Start
подскажите, надо сделать таймер, три числа, минута и два числа секунда, надо их как то проходится по числам и уменьщать на еденицу, но я че то сломался как это сделать, какая для этого общая блок схема должна быть?
источник

З

Захар in Kotlin Start
central hardware
подскажите, надо сделать таймер, три числа, минута и два числа секунда, надо их как то проходится по числам и уменьщать на еденицу, но я че то сломался как это сделать, какая для этого общая блок схема должна быть?
цикл в цикле
пользователь вводит на пример 4:20
первый цикл уменьшает переменную каждым проходом на 1 и в нем же цикл на 60, которые отнимает секунды
источник

E🎸

El Mariachi 🎸 in Kotlin Start
Захар
цикл в цикле
пользователь вводит на пример 4:20
первый цикл уменьшает переменную каждым проходом на 1 и в нем же цикл на 60, которые отнимает секунды
val h = 4
val m = 20
for (i in (h*60 + m) downTo 0) {
   println("${i/60}:${i%60}")
}
источник

E🎸

El Mariachi 🎸 in Kotlin Start
central hardware
подскажите, надо сделать таймер, три числа, минута и два числа секунда, надо их как то проходится по числам и уменьщать на еденицу, но я че то сломался как это сделать, какая для этого общая блок схема должна быть?
.
источник

E🎸

El Mariachi 🎸 in Kotlin Start
а точно надо уменьшать? можно просто repeat(h*60 + m)
источник

ch

central hardware in Kotlin Start
El Mariachi 🎸
val h = 4
val m = 20
for (i in (h*60 + m) downTo 0) {
   println("${i/60}:${i%60}")
}
это то понятно, вопрос как сделать то же самое но stateless имея только данные переменных
источник

E🎸

El Mariachi 🎸 in Kotlin Start
central hardware
это то понятно, вопрос как сделать то же самое но stateless имея только данные переменных
что значит "только данные переменных"? можно пример?
источник

З

Захар in Kotlin Start
El Mariachi 🎸
val h = 4
val m = 20
for (i in (h*60 + m) downTo 0) {
   println("${i/60}:${i%60}")
}
а почему довнто 0? это получается он не будет отнимать..
источник

ch

central hardware in Kotlin Start
El Mariachi 🎸
что значит "только данные переменных"? можно пример?
viewModel в ней цифры который выводятся на экран, каждую секунду  вызывается метод который должен уменьшить время на секунду
источник

AL

Alexander Levin in Kotlin Start
central hardware
viewModel в ней цифры который выводятся на экран, каждую секунду  вызывается метод который должен уменьшить время на секунду
Могу быть немного не в контексте, но нету опции хранить и работать с просто duration условным и уже в визуальном представлении разбивать на минуты и секунды?

Неандроидный пример на коленке:

@ExperimentalTime
suspend fun main() {
   var timerCountdown = 1.minutes + 20.seconds
   val interval = 1.seconds
   while (timerCountdown != Duration.ZERO) {
       println(timerCountdown.toMinutesAndSeconds())
       delay(interval)
       timerCountdown -= interval
   }
}

@ExperimentalTime
fun Duration.toMinutesAndSeconds(): String = toComponents { minutes, seconds, _ ->
   val secondsFormatted = "%02d".format(seconds)
   "$minutes:$secondsFormatted"

}

@ExperimentalTime
suspend fun delay(duration: Duration) = delay(duration.toLongMilliseconds())
источник

E🎸

El Mariachi 🎸 in Kotlin Start
var m = 4
var s1 = 2
var s2 = 0
for (i in (m*60 + s1*10 + s2) downTo 0) {
   m=i/60
   s1=i%60/10
   s2=i%60%10
   println("$m:$s1$s2")
   //delay
}
источник

ch

central hardware in Kotlin Start
источник

AL

Alexander Levin in Kotlin Start
Так ещё раз вопрос - зачем вам четыре проперти, которые будут дико между собой связаны, если вам нужна одна в виде условного Duration? :)

Примечание - если в андроиде так принято, то я конечно извиняюсь, но выглядит очень сомнительно.
источник

ch

central hardware in Kotlin Start
Alexander Levin
Так ещё раз вопрос - зачем вам четыре проперти, которые будут дико между собой связаны, если вам нужна одна в виде условного Duration? :)

Примечание - если в андроиде так принято, то я конечно извиняюсь, но выглядит очень сомнительно.
01 трудновато представить в виде числа
источник

ch

central hardware in Kotlin Start
но если можно то все будет сильно проще
источник

AL

Alexander Levin in Kotlin Start
central hardware
01 трудновато представить в виде числа
Так 01 - это отображение. Выше я привёл пример с kotlin.time.Duration, и там в консоль печатается 01 или как вы скажете, потому, что разнесено хранение и отображение условно.
источник

E🎸

El Mariachi 🎸 in Kotlin Start
fun tick() {
      val time = m1*600 + m2*60 + s1*10 + s2 -1
      m1 = time / 600
      m2 = time / 60 % 10
      s1 = time % 60 / 10
      s2 = time % 60 % 10
}
источник