
Ruslan
13.12.2016
18:44:07
Вот же вбросили

Руслан
13.12.2016
18:46:31

Мытко
13.12.2016
18:46:54
ну да

Ruslan
13.12.2016
18:47:09
Тут есть проблема? =)

Google

Руслан
13.12.2016
18:49:07
Это вот так нужно этим пользоваться?

Мытко
13.12.2016
18:49:21
не нужно
а можно

Руслан
13.12.2016
18:49:37
ну а какой реальный юзкейс

guga
13.12.2016
18:49:56

Мытко
13.12.2016
18:50:23
для всех объектов, у которых есть поле name ты можешь вызвать метод toUpperCase()
никакого юзкейса нет
но так можно написать

Руслан
13.12.2016
18:50:52
а если у объекта нету поля name? :D

Мытко
13.12.2016
18:51:13
вот поэтому мне и не нравится "хренотень с делегированием"

Руслан
13.12.2016
18:51:16
и ты вызываешь на нем name.toUpperCase

Ruslan
13.12.2016
18:51:40

Google

Руслан
13.12.2016
18:52:03
и в котлине через extension method

Ruslan
13.12.2016
18:52:24
Они не за этим

Marat
13.12.2016
18:52:27

Ruslan
13.12.2016
18:52:32
Бля, надо юзкейс сварганить

Руслан
13.12.2016
18:52:40

Mikhail
13.12.2016
18:54:23
Чота такое ощущение, что extension fun это не совсем про то. Там ты к классу приделываешь функу и зовёшь её на объекте. Тут ты экземпляр приделываешь к функе, а потом где-то отдельно можешь её позвать. Не совсем то же самое.
Однако ждём юзкейс, Русик :)

Руслан
13.12.2016
18:55:58
Раз там речь зашла об интрерфейсах
10 часов вечера, какой работай
Ну что это за фанат языка, который пол часа пример придумывает
Груви парни рассказывают почему груви мощнее котлина

Ruslan
13.12.2016
19:00:10
@HeapyHop ктоб рассказал что котлин лучше груви

Mikhail
13.12.2016
19:00:10
Парни? Мне казалось один Руслан рассказывает почему груви мощнее котлина)

Ruslan
13.12.2016
19:00:29
@mgtriffid подключайся за котлин ))

Mikhail
13.12.2016
19:00:57
Русик, вот так можете?
https://kotlinlang.org/docs/reference/delegation.html

Руслан
13.12.2016
19:00:57
Ну еще @DarkCasual умеет груви

Мытко
13.12.2016
19:01:05
лол
я не умею

Google

Мытко
13.12.2016
19:01:12
прогаю на нем 1.5 недели
а, уже 2.5

Mikhail
13.12.2016
19:01:31
Как увидел делегирование в котлине - окончательно в него влюбился

Kirill
13.12.2016
19:02:28
так-так, парни, кто-то сказал за фичи языка? скалисты на месте

Руслан
13.12.2016
19:02:48
Ну правда это не то делегирование что в груви)
И в 1.1 можно делегировать локальные проперти https://github.com/Kotlin/KEEP/blob/master/proposals/local-delegated-properties.md

Мытко
13.12.2016
19:03:20
http://stackoverflow.com/questions/13380535/groovy-equivalent-for-scala-implicit-parameters-extended

Руслан
13.12.2016
19:03:43

Kirill
13.12.2016
19:04:15

Мытко
13.12.2016
19:05:06
вот это ор

Руслан
13.12.2016
19:05:36
Не уверен, это плюс или минус (я про имплиситы)

Kirill
13.12.2016
19:05:58

guga
13.12.2016
19:07:02
Как ты далешь такие ники? у меня только так выходит, @guga4ka, вместо guga

Oleksandr
13.12.2016
19:07:12
Руслан какой-то фанатик, блин

Baruch
13.12.2016
19:07:26
причем тут Барух?

Руслан
13.12.2016
19:08:13
В Котлине специально их не добавляют, любая фича которая выглядит как имплиситная конверсия идет в топку)

Kirill
13.12.2016
19:08:15

Ruslan
13.12.2016
19:08:44
А холивары здесь запрещены, насколько я помню
=)

Oleksandr
13.12.2016
19:08:55

Ruslan
13.12.2016
19:09:06
В груви тоже есть экстеншены

Google

Ruslan
13.12.2016
19:09:14
Чет не знаю, куда правильнее бы запихнуть

Руслан
13.12.2016
19:09:31

Admin
ERROR: S client not available

Oleksandr
13.12.2016
19:09:56

Руслан
13.12.2016
19:10:03

Baruch
13.12.2016
19:11:10

Руслан
13.12.2016
19:11:25
(но вообще я вроде сказал, что скала тут не интересна, тут меряются письками языки без hot)

Oleksandr
13.12.2016
19:12:18

Руслан
13.12.2016
19:13:04
_компилятор_)

Mikhail
13.12.2016
19:13:44
С Хабра:
Ищет он неявные преобразования:
В текущей области видимости (например, внутри текущего объекта)
В явных (import app.VAZ.vaz2renault)
или групповых импортах (import app.VAZ._)
В объекте-компаньоне преобразуемого
Кстати, помимо просто вызова несуществующего метода, компилятор попробует преобразовать объект в том случае, если мы попытаемся передать его в метод/функцию, которая требует параметр с другим типом данных.

Ruslan
13.12.2016
19:13:48
`public class Test {
def call( Closure c ) {
c.delegate = this;
c.call();
}
def helloworld() {
println "helloworld";
}
}
new Test().call {
helloworld()
}
`

Mikhail
13.12.2016
19:13:54
ЭТот ответ на свой вопрос ты ищешь?

Ruslan
13.12.2016
19:14:01
Ой. Ну ладно. Типо того юзкейс

Руслан
13.12.2016
19:15:08

Ruslan
13.12.2016
19:16:10
Суть в том, что ты можешь сделегировать чему угодно кложур, например

Oleksandr
13.12.2016
19:16:57

Ruslan
13.12.2016
19:17:01
+ какой нибудь missingMethod = готовый simple pretty dsl

Google

Ruslan
13.12.2016
19:17:37
а, я немного выпал из диалога, сорри

Oleksandr
13.12.2016
19:17:42
вот не люблю, когда вместо дискуссии получается такая демагогия

Руслан
13.12.2016
19:17:43

Oleksandr
13.12.2016
19:17:59

Baruch
13.12.2016
19:18:01

Мытко
13.12.2016
19:19:10
не нашел

Руслан
13.12.2016
19:19:40

Oleksandr
13.12.2016
19:20:02
"как" != "с абсолютной точностью"
имплиситные преобразования дают больше мощности
иногда это вредно, иногда нет

Мытко
13.12.2016
19:20:46
вообще, там есть неявные преобразования. например, заместо GString подставляется String, если параметр, в который летит GString, является String
но как это реализовано - я хз

Руслан
13.12.2016
19:21:06