Size: a a a

Kotlin Community

2020 July 15

СТ

Сергей Троян... in Kotlin Community
а у компаньонов есть преимущество перед просто object
?
источник

AN

Alexander Nozik in Kotlin Community
Konstantin Dovnar
Разумеется.
Но это не отменяет того, что компаньоны сильно путают новичком. ¯\_(ツ)_/¯
записал в план по гиперскилу. Будем работать
источник

AN

Alexander Nozik in Kotlin Community
Сергей Троян
а у компаньонов есть преимущество перед просто object
?
А это и есть просто object. Единственное дополнительное свойство компаньона в том, что он видит приватные методы своего класса
источник

СТ

Сергей Троян... in Kotlin Community
и в том что он именем привязан к классу, при чтении назначение проще считывается

я бы так компаньоны и объяснял
а не со статиков
источник

i

i_vovolk in Kotlin Community
как extension fun, только extension object. Работает такая аналогия?
источник

AN

Alexander Nozik in Kotlin Community
i_vovolk
как extension fun, только extension object. Работает такая аналогия?
нет
источник

AN

Alexander Nozik in Kotlin Community
Сергей Троян
и в том что он именем привязан к классу, при чтении назначение проще считывается

я бы так компаньоны и объяснял
а не со статиков
Компаньон - это объект с именем равным имени класса.
источник

SB

Sergey Barmin in Kotlin Community
i_vovolk
как extension fun, только extension object. Работает такая аналогия?
а extension fun у вас имеет доступ к приватным методам класса?
источник

AN

Alexander Nozik in Kotlin Community
Компаньон в каком-то смысле является extension, но только к самому классу, а не к его инстансу. Я думаю, что эта аналогия только увеличивает путанницу
источник

i

i_vovolk in Kotlin Community
в каком-то смысле является extension, но только к самому классу.  Я потому и ляпнул про эту аналогию.
Всем спасибо за обучение.
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Не всегда. Для мембер экстеншенов - это не статик. Я в любом случае предлагаю новичкам исходить из логики языка, а не из того, что там в байт-коде
+
источник

BP

Bogdan Panchenko in Kotlin Community
Konstantin Dovnar
Я бы сказал, что введение компаньона в язык запутало больше. Статик как-то у всех на слуху.
Нет, не согласен, это как раз статик путает всех, это ошибка дизайна джавы
источник

BP

Bogdan Panchenko in Kotlin Community
Konstantin Dovnar
Из твоего же сообщения: Просто введение слова статик сильно путает всех
Да. Потому что нет такого понятия в котлин
источник

BP

Bogdan Panchenko in Kotlin Community
Sergey Barmin
хз, когда пришло понимание того что это просто объект отзывающийся на неймспейс класса, оно сразу перестало как статики восприниматься
+ обычное опп
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
А это и есть просто object. Единственное дополнительное свойство компаньона в том, что он видит приватные методы своего класса
Что есть плохо 😢
источник

VS

Vladimir Sitnikov in Kotlin Community
А обсуждался ли вопрос добавить в stdlib функцию для откусывания первых элементов от массива?

Сейчас есть .copyOf(newLength) (оно может удлиннить или усечь массив), есть вариант sliceArray(indices), но нет варианта, чтобы скопировать хвост, но при этом не указывать длину массива.

Пример — в Gradle, example 12:

https://docs.gradle.org/current/userguide/working_with_files.html#sec:unpacking_archives_example

relativePath = RelativePath(true, *relativePath.segments.drop(1).toTypedArray())
источник

VP

Vladimir Petrakovich in Kotlin Community
Vladimir Sitnikov
А обсуждался ли вопрос добавить в stdlib функцию для откусывания первых элементов от массива?

Сейчас есть .copyOf(newLength) (оно может удлиннить или усечь массив), есть вариант sliceArray(indices), но нет варианта, чтобы скопировать хвост, но при этом не указывать длину массива.

Пример — в Gradle, example 12:

https://docs.gradle.org/current/userguide/working_with_files.html#sec:unpacking_archives_example

relativePath = RelativePath(true, *relativePath.segments.drop(1).toTypedArray())
Лучше уж подружить списки с вараргами
источник

VS

Vladimir Sitnikov in Kotlin Community
Vladimir Petrakovich
Лучше уж подружить списки с вараргами
Это тоже верно. Но странно, что метод «откусить хвост массива» есть, а метода «откусить голову» нет.
источник
2020 July 16

OV

Oleg Vasylenko in Kotlin Community
Кто подскажет, учебник по котлину для новичков?
источник

QH

Quantum Harmonizer in Kotlin Community
Oleg Vasylenko
Кто подскажет, учебник по котлину для новичков?
В описании есть ссылка на FAQ, там перечислена разная литература.
источник