Size: a a a

Kotlin Community

2020 October 13

PE

Pavel Erokhin in Kotlin Community
а почему int если первым идет view? как это вычисляется?
источник

PE

Pavel Erokhin in Kotlin Community
как это можно догадаться то что this это Int а не View?
источник

SB

Sergey Barmin in Kotlin Community
я не очень понимаю а какое тогда решение тут привносит декоратор? Декоратор это функция которая принимает функцию и оборачивает ее неким образом, или я что-то концептуальное упускаю?
источник

PE

Pavel Erokhin in Kotlin Community
ладно там типа this@Int * this@View ...
источник

с#

саша сок #KotlinGang... in Kotlin Community
Pavel Erokhin
а почему int если первым идет view? как это вычисляется?
эм

with(view) View@ {
   with(int) Int@ {
       println(this@Int * resources ...)
   }
}
источник

PE

Pavel Erokhin in Kotlin Community
саша сок #KotlinGang
эм

with(view) View@ {
   with(int) Int@ {
       println(this@Int * resources ...)
   }
}
да, если в этом виде мы понимаем что происходит, то выше код не очевиден просто
источник

с#

саша сок #KotlinGang... in Kotlin Community
Pavel Erokhin
да, если в этом виде мы понимаем что происходит, то выше код не очевиден просто
почему? запретить просто к this обращаться
источник

PE

Pavel Erokhin in Kotlin Community
все таки это не правильный дизайн имхо, с точки зрения программиста
источник

VP

Vladimir Petrakovich in Kotlin Community
Sergey Barmin
я не очень понимаю а какое тогда решение тут привносит декоратор? Декоратор это функция которая принимает функцию и оборачивает ее неким образом, или я что-то концептуальное упускаю?
А вы доклад-то смотрели?)
Декоратор может накидывать дополнительных ресиверов от себя. Простейший декоратор только это и делает.
источник

с#

саша сок #KotlinGang... in Kotlin Community
только через named-this
источник

PE

Pavel Erokhin in Kotlin Community
саша сок #KotlinGang
почему? запретить просто к this обращаться
прсото надо заставить маркировать то к чему обращаешься
источник

PE

Pavel Erokhin in Kotlin Community
и тогда все чики пуки, да
источник

VP

Vladimir Petrakovich in Kotlin Community
Обсуждать синтаксис сейчас смысла не вижу
источник

AM

Andrew Mikhaylov in Kotlin Community
Pavel Erokhin
да, если в этом виде мы понимаем что происходит, то выше код не очевиден просто
Всё так. А в случае декораторов вроде хорошо понятно, что во что nested, и в каком порядке мог бы быть обход this-ов. И то по-моему шла речь, что unqualified this, вероятно, будет запрещён.
источник

PE

Pavel Erokhin in Kotlin Community
тогда все нормас, если будет запрещен
источник

SB

Sergey Barmin in Kotlin Community
Vladimir Petrakovich
А вы доклад-то смотрели?)
Декоратор может накидывать дополнительных ресиверов от себя. Простейший декоратор только это и делает.
смотрел, но не понимаю как например это использовать в интерфейсах, где хочется потребовать реализации такого экстеншна
источник

OY

Oleg Yukhnevich in Kotlin Community
Vladimir Petrakovich
А вы доклад-то смотрели?)
Декоратор может накидывать дополнительных ресиверов от себя. Простейший декоратор только это и делает.
а теперь кстати задумался и стало интересно
сейчас, ф-ия with: inline fun <T, R> with(receiver: T, block: T.() -> R): R
то есть у неё 2 тайп параметра
как тогда она будет в декораторах выглядить, чтобы писать при использовании только один тайп параметр
источник

VP

Vladimir Petrakovich in Kotlin Community
Sergey Barmin
смотрел, но не понимаю как например это использовать в интерфейсах, где хочется потребовать реализации такого экстеншна
Вот с интерфейсами и переопределением это всё хз как может работать. Возможно, никак.
источник

SB

Sergey Barmin in Kotlin Community
или можно будет объявить
interface A {
@with<C>
fun B.foo()
}
источник

АО

Алексей Овсянников... in Kotlin Community
а на ютреке нельзя минус задаче поставить?
источник