Size: a a a

Kotlin Community

2019 November 24

BV

Boris Vanin in Kotlin Community
Anthony Styzhin
Обязательно возьму на заметку, просто не знал где реализацию эту найти кроме документации на котлинланг.орг, а оно вон как, прям на гитхабе вся поднаготная
Да в идее же ктрл+клик
источник

BP

Bogdan Panchenko in Kotlin Community
Anthony Styzhin
Приветствую!
Надеюсь вопрос по адресу. Подскажите, пожалуйста, в чём принципиальное отличие между двумя вариантами одной и той же функции. А точнее какое преимущество, если оно есть, у одного варианта над другим.

fun findShort(s: String): Int = s.split(" ").minBy { it.length }!!.count()
или
fun findShort(s: String): Int = s.split(" ").minBy { it.length }!!.length

Пояснение - задача функции просто получить инт количества знаков в самом коротком слове в стринге состоящим из любого количества слов (по условиям задачи стринг не может быть пустой, проверка на нал не нужна и тд).
Работает и так и так, на codewars в вариантах решения есть и такой и такой вариант.
Просто спортивный интерес для саморазвития
эстетическая разница, какое слово в каком месте предпочтительней, дает лучше понять
источник

BV

Boris Vanin in Kotlin Community
Anthony Styzhin
В слаке сейчас ссылку кинули:
https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/common/src/generated/_Strings.kt#L946-L952
/**
* Returns the length of this char sequence.
*/
@kotlin.internal.InlineOnly
public inline fun CharSequence.count(): Int {
   return length
}
👆
источник

AS

Anthony Styzhin in Kotlin Community
Boris Vanin
Да в идее же ктрл+клик
Каюсь сидел через онлайновый плейграунд, этож codewars, целую айдиешку открывать ради первых задачек … В общем поленился, вот и поплатился 🙂 Зато усвоил ^^
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
нет конт вызывает тот же length
Ну если так, то да. Я думал, что это от итерейбла экстеншен
источник

BV

Boris Vanin in Kotlin Community
Alexander Nozik
Ну если так, то да. Я думал, что это от итерейбла экстеншен
Тоже не всегда знаю у кого будет вызван метод. А они же везде называются одинаково
источник

AS

Anthony Styzhin in Kotlin Community
В Collection там вообще size возвращается count(), короче всё от конкретного контекста зависит, а каунт просто красивая обёртка.
источник

BV

Boris Vanin in Kotlin Community
И если важно, то клик и смотришь исходник, я такие вещи делаю уже на автомате, сложно себе представить, что люди раньше жили без исходников
источник

AS

Anthony Styzhin in Kotlin Community
А в Iterable действительно O(n) будет
источник

BV

Boris Vanin in Kotlin Community
Anthony Styzhin
В Collection там вообще size возвращается count(), короче всё от конкретного контекста зависит, а каунт просто красивая обёртка.
О том и речь выше
источник

BV

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

AS

Anthony Styzhin in Kotlin Community
Boris Vanin
И если важно, то клик и смотришь исходник, я такие вещи делаю уже на автомате, сложно себе представить, что люди раньше жили без исходников
Да говорю, ленивая жопа, решил в онлайн плейграунде поделать. Так то да, контрл+клик облегчает жизнь очень сильно.
источник

BP

Bogdan Panchenko in Kotlin Community
Anthony Styzhin
А в Iterable действительно O(n) будет
еще сиквенс
источник

QH

Quantum Harmonizer in Kotlin Community
сиквенс вообще брат-близнец итерабла, только дублирование плодит)
источник

КР

Кирилл Романенко in Kotlin Community
Quantum Harmonizer
сиквенс вообще брат-близнец итерабла, только дублирование плодит)
Слишком жирный троллинг.)
источник

QH

Quantum Harmonizer in Kotlin Community
Кирилл Романенко
Слишком жирный троллинг.)
Я вот как-то теряюсь и не знаю что ответить, когда на фразу, сказанную всерьёз и искренне, говорят, что троллинг лишком толст.
источник

КР

Кирилл Романенко in Kotlin Community
Quantum Harmonizer
Я вот как-то теряюсь и не знаю что ответить, когда на фразу, сказанную всерьёз и искренне, говорят, что троллинг лишком толст.
Ну я не думаю, что мне нужно тебе рассказывать, что такое сиквенс и в чём его корневое отличие от итерабла.
источник

QH

Quantum Harmonizer in Kotlin Community
Кирилл Романенко
Ну я не думаю, что мне нужно тебе рассказывать, что такое сиквенс и в чём его корневое отличие от итерабла.
* в том, что он может оказаться одноразовым (и вместо него нужно просто использовать итератор, который тоже одноразовый, но привычный и уже есть)
* в экстеншенах (их нужно было делать к итератору, но уже поздно)
нет?
источник

AL

Alexander Levin in Kotlin Community
Quantum Harmonizer
* в том, что он может оказаться одноразовым (и вместо него нужно просто использовать итератор, который тоже одноразовый, но привычный и уже есть)
* в экстеншенах (их нужно было делать к итератору, но уже поздно)
нет?
Нет.

По аналогии (хоть и не точной) - в чём отличие между Collection и Set?
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Levin
Нет.

По аналогии (хоть и не точной) - в чём отличие между Collection и Set?
Что именно «нет»?
источник