Size: a a a

Kotlin Community

2020 August 17

с#

саша сок #KotlinGang... in Kotlin Community
а ну там не мутабл потому что
источник

с#

саша сок #KotlinGang... in Kotlin Community
ну имплементация не суть
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
а ну там не мутабл потому что
да. Но и не только по-этому. У вас типы не сойдутся
источник

AN

Alexander Nozik in Kotlin Community
Результат будет List, а не T
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
да. Но и не только по-этому. У вас типы не сойдутся
сойдутся, там дженерик сам поставит
источник

с#

саша сок #KotlinGang... in Kotlin Community
а, да 🤕
источник

с#

саша сок #KotlinGang... in Kotlin Community
всё понял
источник

AL

Alexander Levin in Kotlin Community
саша сок #KotlinGang
override operator fun <T : List<*>> T.times(count: Int): T = mutableListOf().apply {
   for(i in 1..count)
       addAll(this)
}
Возвращаемый тип T организовать будет сложно, это не Скала :)
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Возвращаемый тип T организовать будет сложно, это не Скала :)
Да и в скале для этого имплиситы нужны. В общем, не получится
источник

с#

саша сок #KotlinGang... in Kotlin Community
тогда это сложно да
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Собственно решение ограничить перегрузку операторов было не просто так. И даже в самих котлиновских либах напоролись с унарным плюсом. Теперь его выпиливают потихоньку
ну получается usage case только какие-нибудь protected операторы, операторы в dsl и операторы с финальными классами
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
ну получается usage case только какие-нибудь protected операторы, операторы в dsl и операторы с финальными классами
Это сильная фича, но надо помнить о граблях и проявлять смирение.
источник

LS

Lev Shagalov in Kotlin Community
Ха. А вот задачка.
На здание надо A предметов a, B предметов b и так далее.
Предметы стакаются в инвентаре. a.stack предположим.
Количество ячеек инвентаря ограниченно I.

Собственно надо найти сколько стаков каких предметов взять, чтобы построить максимальное количество зданий? Решение через +1 здание то понятно. Но наверно есть более умный способ?
источник

AL

Alexander Levin in Kotlin Community
Lev Shagalov
Ха. А вот задачка.
На здание надо A предметов a, B предметов b и так далее.
Предметы стакаются в инвентаре. a.stack предположим.
Количество ячеек инвентаря ограниченно I.

Собственно надо найти сколько стаков каких предметов взять, чтобы построить максимальное количество зданий? Решение через +1 здание то понятно. Но наверно есть более умный способ?
Возможно это уже не про Котлин :)
источник

BP

Bogdan Panchenko in Kotlin Community
Lev Shagalov
Будет Каменный топор повторить 3. Лучше умножить.
Нет, это не майнкрафт)
копатель ?
источник

BP

Bogdan Panchenko in Kotlin Community
Lev Shagalov
Вот еще вариант:
operator fun List<Item>.times(count: Int) = (1..count).flatMap { this }
Правда на 0 нельзя умножить
годный вариант, случай с 0 можно обработать
источник

SB

Sergey Barmin in Kotlin Community
Ruslan Ibragimov
17 августа что-то будет 😉 (но это не точно)
видимо таки неточно? =)
источник

RI

Ruslan Ibragimov in Kotlin Community
Ну мне плагин уже пришел, так что думаю будет что-то)
источник

AM

Andrew Mikhaylov in Kotlin Community
Кстати, на странице плагина для IDE на сайте JB можно забрать пока ещё не работающие ссылки на пост об 1.4 в документации и в блоге котлина :)

https://kotlinlang.org/docs/reference/whatsnew14.html

https://blog.jetbrains.com/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance/
источник

B

Beholder in Kotlin Community
В кремниевой долине ещё 8 утра, не все проснулись
источник