Size: a a a

Kotlin Community

2020 November 20

с#

саша сок #KotlinGang... in Kotlin Community
Gatvik
Извините, конечно, что нарушаю ваши правила, но если сейчас никто ничего не пишет, почему нельзя пообщаться и здесь, не только в оффтопе?
потому что это тематический чат и люди, которые собрались тут чтобы помочь не хотят читать кто сколько уроки делает.
источник

с#

саша сок #KotlinGang... in Kotlin Community
если хотите обсудить это, то велком в @kotlin_meta
источник
2020 November 21

BV

Boris Vanin in Kotlin Community
Есть такой метод takeWhile, он возвращает все элементы до, а есть такой же, который возвращает все до включительно?
источник

Д

Дима in Kotlin Community
Кажется нет, помню я писал себе где-то такой.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Boris Vanin
Есть такой метод takeWhile, он возвращает все элементы до, а есть такой же, который возвращает все до включительно?
ну по запросу kotlin takeWhile inclusive ничего из стд не нашло
источник

BV

Boris Vanin in Kotlin Community
Да, знаю, но наверняка можно чем-то заменить простым
источник

с#

саша сок #KotlinGang... in Kotlin Community
Boris Vanin
Да, знаю, но наверняка можно чем-то заменить простым
inline fun <T> Array<out T>.takeWhileInclusive(
       predicate: (T) -> Boolean
): List<T> {
   var shouldContinue = true
   return takeWhile {
       val result = shouldContinue
       shouldContinue = predicate(it)
       result
   }
}
источник

BV

Boris Vanin in Kotlin Community
саша сок #KotlinGang
inline fun <T> Array<out T>.takeWhileInclusive(
       predicate: (T) -> Boolean
): List<T> {
   var shouldContinue = true
   return takeWhile {
       val result = shouldContinue
       shouldContinue = predicate(it)
       result
   }
}
Не, это не простое, это как раз то, что я не хочу писать
источник

с#

саша сок #KotlinGang... in Kotlin Community
Boris Vanin
Не, это не простое, это как раз то, что я не хочу писать
ну а как вы ещё хотите на один шаг дальше takeWhile идти 🤔
источник

Д

Дима in Kotlin Community
через итератор или indexed for заглядывать на один элемент вперёд?
источник

Д

Дима in Kotlin Community
плюс extension можно для Iterable написать, будет не только для Array работать
источник

с#

саша сок #KotlinGang... in Kotlin Community
Дима
плюс extension можно для Iterable написать, будет не только для Array работать
можно для чего угодно написать, там в примере ещё для ByteArray, IntArray и т.д. написали
источник

BV

Boris Vanin in Kotlin Community
Мне казалось, что я писал этот метод как-то очень просто, но теперь не могу вспомнить как
источник

Д

Дима in Kotlin Community
take(indexOf(predicate) + 1) ?? Хотя тут конечно всё равно надо будет проверять на -1 и ещё на то, чтобы не нашёлся самый последний элемент...
источник

BV

Boris Vanin in Kotlin Community
Не, мне для сиквенса надо, индексоф не вариант
источник

Д

Дима in Kotlin Community
ааа. тогда да )
источник

КБ

К Б in Kotlin Community
Помогите знатоки котлин. Простой вопрос, а поставил в тупик, как в интерфейсе объявить свойства только для чтения, но так, чтобы в реализации их можно было установить? Если в интерфейсе val, то в реализации тоже будет val, если var, то в реализации override val или private set не дает.
источник

AN

Alexander Nozik in Kotlin Community
К Б
Помогите знатоки котлин. Простой вопрос, а поставил в тупик, как в интерфейсе объявить свойства только для чтения, но так, чтобы в реализации их можно было установить? Если в интерфейсе val, то в реализации тоже будет val, если var, то в реализации override val или private set не дает.
Можно val оверрайдить var-ом
источник

КБ

К Б in Kotlin Community
ёёё, точно можно, не знал, спасибо!
источник

с#

саша сок #KotlinGang... in Kotlin Community
а я могу как-то ресетнуть lazy? чтобы оно стало не инициализованным и при первом обращении после ресета заново его инитить
источник