Size: a a a

Kotlin Community

2020 August 26

с#

саша сок #KotlinGang... in Kotlin Community
Dmitry Hvastunov
Всем привет. Слушайте не ужели в котлине нет функции которая возвращает позицию искомой подстроки в строке?
Чет не могу найти ни чего.
матчер
источник

с#

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

DH

Dmitry Hvastunov in Kotlin Community
Аааа точно я про него чет забылш. Еще думал вчера. Спасибо.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Dmitry Hvastunov
Аааа точно я про него чет забылш. Еще думал вчера. Спасибо.
ну мастер это для групп больше, там start подстрок и end есть
источник

с#

саша сок #KotlinGang... in Kotlin Community
для простого первого вхождения подстроки в строку можно юзать "text".indexOf("e")
источник

AH

Ayrat Hudaygulov in Kotlin Community
При использовании Destructuring declaration можно как-то объявить биндинг для изначальной структуры?

например

val list: List<Pair<int, string>> = TODO()

list.forEach { (i,s) as pair -> … }

пример просто для наглядности, ясно что тут это не особо нужно
источник

t

trashkalmar in Kotlin Community
Ayrat Hudaygulov
При использовании Destructuring declaration можно как-то объявить биндинг для изначальной структуры?

например

val list: List<Pair<int, string>> = TODO()

list.forEach { (i,s) as pair -> … }

пример просто для наглядности, ясно что тут это не особо нужно
list.forEach { p -> ... }
источник

AH

Ayrat Hudaygulov in Kotlin Community
trashkalmar
list.forEach { p -> ... }
и где тут Destructuring? 🙂
источник

t

trashkalmar in Kotlin Community
так и в постановке вопроса вроде бы нет его. Либо я не понял, что нужно
источник

AH

Ayrat Hudaygulov in Kotlin Community
trashkalmar
так и в постановке вопроса вроде бы нет его. Либо я не понял, что нужно
хотелось и деструктурировать и имееть ссылку на изначальную структуру
источник

AH

Ayrat Hudaygulov in Kotlin Community
например вытащить первый элемент массива и при этом иметь возможность ссылаться на массив
источник

AH

Ayrat Hudaygulov in Kotlin Community
или разложить пару и всё ещё держать ссылку на пару (чтобы не пересоздавать например)
источник

IO

Iaroslav Orlov in Kotlin Community
Ayrat Hudaygulov
хотелось и деструктурировать и имееть ссылку на изначальную структуру
делайте forEach { p ->
 val (k, v) = p
}
источник

AH

Ayrat Hudaygulov in Kotlin Community
ну да, так я уже справился. Просто было интересно может я чот упустил
источник

IO

Iaroslav Orlov in Kotlin Community
Ayrat Hudaygulov
ну да, так я уже справился. Просто было интересно может я чот упустил
если очень хочется, то можно сделать
inline fun <K, V> Map<K, V>.forEach(action: (k: K, v: V, entry: Map.Entry<K, V>) -> Unit) =
   entries.forEach { action(it.key, it.value, it) }
источник

t

trashkalmar in Kotlin Community
Iaroslav Orlov
если очень хочется, то можно сделать
inline fun <K, V> Map<K, V>.forEach(action: (k: K, v: V, entry: Map.Entry<K, V>) -> Unit) =
   entries.forEach { action(it.key, it.value, it) }
наглядная демонстрация оверинженеринга)
источник

PA

Pavel Aleksandrov in Kotlin Community
Привет всем! А здесь есть люди, которые успешно юзают Kotlin Multiplatform хотя бы для iOS и Android? Сейчас встал следующий вопрос: как лучше всего управлять зависимостями из либы?
Отдавать в нужную платформу готовые классы и уже там их через DI/руками инициализировать их
vs
Инициализировать классы руками/через DI внутри общей либы и отдавать что-то вроде готового SDK.
P.S. планируется типичные мобильные приложения с сетью, БД, local storage  с Clean Architecture (общими планируется быть всё кроме View и Presentation слоев)
источник

IO

Iaroslav Orlov in Kotlin Community
Pavel Aleksandrov
Привет всем! А здесь есть люди, которые успешно юзают Kotlin Multiplatform хотя бы для iOS и Android? Сейчас встал следующий вопрос: как лучше всего управлять зависимостями из либы?
Отдавать в нужную платформу готовые классы и уже там их через DI/руками инициализировать их
vs
Инициализировать классы руками/через DI внутри общей либы и отдавать что-то вроде готового SDK.
P.S. планируется типичные мобильные приложения с сетью, БД, local storage  с Clean Architecture (общими планируется быть всё кроме View и Presentation слоев)
я юзаю мультиплатформ для другого, но в теории первое дает гораздо больший простор что-то платформенное накостылить
источник

IO

Iaroslav Orlov in Kotlin Community
ну и второе не позволяет подробно конфигурировать mpp-компоненты
источник

PA

Pavel Aleksandrov in Kotlin Community
Iaroslav Orlov
ну и второе не позволяет подробно конфигурировать mpp-компоненты
То есть, удобнее будет просто отдавать наружу готовые компоненты: Interactors, Repository, Storage, Logger и т д. А уже в конкретной платформе инициализировать их?
источник