Size: a a a

2019 November 25

IK

Igor Komarov in Kotlin JVM
Хочу сделать примерно следующее. Есть интерфейс Context. Есть некоторый интерфейс Object. Хочу, чтобы у интерфейса Object внутри Context появлялась extension infix функция f. Можете пожалуйста на пальцах объяснить, как это сделать без тайпклассов?
источник

IK

Igor Komarov in Kotlin JVM
То есть, чтобы я мог писать потом:

with (context) {
   objectInstance f "123"
}
источник

AM

Andrew Mikhaylov in Kotlin JVM
Igor Komarov
То есть, чтобы я мог писать потом:

with (context) {
   objectInstance f "123"
}
источник

AM

Andrew Mikhaylov in Kotlin JVM
Вы, кстати, можете в @kotlin_lang писать, если что.
источник

IK

Igor Komarov in Kotlin JVM
Да, ровно оно. Теперь дополнительное условие: я не могу модифицировать context.
источник

IK

Igor Komarov in Kotlin JVM
То есть, это библиотечный класс
источник

AM

Andrew Mikhaylov in Kotlin JVM
Вот тут, увы, никак. Ждём мультиресиверы.
источник

IK

Igor Komarov in Kotlin JVM
Andrew Mikhaylov
Вот тут, увы, никак. Ждём мультиресиверы.
Ну, как сказать никак. Вроде же можно через тайпклассы (пародию на тайпклассы), но это я делать не хочу, потому что мразотно выглядеть будет.
источник

AM

Andrew Mikhaylov in Kotlin JVM
Я, очевидно, о родных средствах. Эмуляция тайпклассов через внешний адаптер — это уже не решение озвученной задачи в чистом виде.
источник

IK

Igor Komarov in Kotlin JVM
А операторы же в котлин кастомные даже не планируют добавлять, да?
источник

AM

Andrew Mikhaylov in Kotlin JVM
Пока не слышал о таких планах.
источник

AM

Andrew Mikhaylov in Kotlin JVM
Впрочем, до 1.4 в принципе о планах каких-либо говорить трудно, там подкапотное массивное переписывание на IR. К активным обсуждениям user-facing штук, вероятно, вернутся позже.
источник

VP

Vladimir Petrakovich in Kotlin JVM
Igor Komarov
А операторы же в котлин кастомные даже не планируют добавлять, да?
Вроде да, и к лучшему
источник

BP

Bogdan Panchenko in Kotlin JVM
Vladimir Petrakovich
Вроде да, и к лучшему
+
источник

BP

Bogdan Panchenko in Kotlin JVM
но можно расширит список, либо сделать ограничение
источник

AN

Alexander Nozik in Kotlin JVM
Igor Komarov
Ну, как сказать никак. Вроде же можно через тайпклассы (пародию на тайпклассы), но это я делать не хочу, потому что мразотно выглядеть будет.
Ждем KEEP-176 или на худой конец KEEP-87. В нынешнем виде нельзя добавлять мембер экстеншены к существующим классам.
источник

AN

Alexander Nozik in Kotlin JVM
Пока можно сделать инлайн класс над контекстом и в него все засунуть
источник
2019 November 26

VN

Vladislav Navrocky in Kotlin JVM
Господа, вопрос по Gradle и синтаксису на Kotlin  в нем. Не подхватывает переменные в строках, которые относятся к плагинам. Что делать?
источник

VN

Vladislav Navrocky in Kotlin JVM
источник

VN

Vladislav Navrocky in Kotlin JVM
тут это $kotlin_version
источник