@kotlin_lang

Страница 811 из 982
Dibro
15.08.2018
16:12:50
вывод здесь не сработает

Иван
15.08.2018
16:13:18
Просто я без ноута, но хочется понять

Руслан
15.08.2018
16:40:05
return { block: ((Context) -> T) -> block(ctx) ... } это (Context) -> (Context) -> T

А в типе указано (Context) -> T

Google
Руслан
15.08.2018
16:43:42
Хотя нет, это конечно же ((Context) -> T) -> X При этом по return type X должно быть (Context) -> T), а по факту X == T

Ну и откуда компилятор должен узнать что такое T - непонятно. Я вот не понял.

Denko
15.08.2018
20:46:53
Всем привет, в яве есть конструкция tryWithResources, в котле нашел что используют - .use { } но в яве можно добавить ещё к этому блоку кетч и финали, а в котле не пойму как бы это сделать, может кто то пояснить?

Gleb
15.08.2018
21:02:47
something.use { try { } catch (...) { } }

I
16.08.2018
07:32:35
Ребята, не могу понять, как в метод подсунуть интерфейс: есть класс Test в нем есть метод fun addErrorConsole(errorConsole: IErrorConsole) { iErrorConsole = errorConsole } и интерфейс interface IErrorConsole { fun consoleCallback(error: String) } теперь в другом классе я делаю переменную Test и далее Test.addErrorConsole() как сделать правильно запись в скобках? В Java это было new Test.IErrorConsole {...} но в котлин это не порходит!

Slava
16.08.2018
07:33:12
object : IErrorConsole

I
16.08.2018
07:37:00
object : IErrorConsole
addErrorConsole(object :IErrorConsole {}) так не прокатывает, что ещё надо добавить?

Slava
16.08.2018
07:37:37
addErrorConsole(object :IErrorConsole() { //методы интерфейса } )

или пропихивай val errorConsole = object : IErrorConsole(){ // методы }

как проперти

addErrorConsole(errorConsole)

Di7aK
16.08.2018
07:38:37
Йо

Slava
16.08.2018
07:38:44
смотря что тебе надо, какой жизненный цикл

Google
Slava
16.08.2018
07:39:35
если хочешь addErrorConsole { // твой метод } то попробуй интерфейс написать на java. это прикол такой совместимости у котлина

только он с одним методом должен быть

I
16.08.2018
07:41:17
addErrorConsole(object :IErrorConsole() { //методы интерфейса } )
так не хочет, подчеркивает object и пишет object is not abstract..

Жмакни ctrl+enter
не решает проблему, пробовал

Di7aK
16.08.2018
07:41:47
Хм

Это абстрактный класс чтоли

Ой путаю

I
16.08.2018
07:42:14
смотря что тебе надо, какой жизненный цикл
писать не java нет смысла)) ведь я наоборот пытаюсь на котлин перейти

Alexander
16.08.2018
07:42:53
Про java вообще никто не говорил ничего

Alexander
16.08.2018
07:43:21
я говорил
не заметил

Есть инстанс интерфейса или надо его инстанцировать прямо при вызове метода?

I
16.08.2018
07:44:02
не заметил
прямо при вызове метода

Alexander
16.08.2018
07:44:31
https://kotlinlang.org/docs/reference/object-declarations.html#object-expressions

Читайте документацию и будет счастье.

Маленькое и недолго

Di7aK
16.08.2018
07:45:26
Кароч го свой файл Test.чотам

Alexander
16.08.2018
07:45:51
Кароч го свой файл Test.чотам
Это было на каком языке?

Google
Руслан
16.08.2018
07:45:58
something.use { try { } catch (...) { } }
Можно и наоборот: try { something.use { } } catch (...) { } Тогда будет общий блок обработки например если несколько use используется.

I
16.08.2018
07:46:32
Вот этот вариант тогда
да я не ленюсь читать, но тот вариант подчеркивает слово object

Slava
16.08.2018
07:46:32
ребят, никто не изучал вопрос времени сборки проекта при использовании синтаксического сахара в котлине?

Di7aK
16.08.2018
07:46:59
Нет и так норм

I
16.08.2018
07:47:06
Вот этот вариант тогда
у меня интерфейс внутри класса возможно в этом проблема

Alexander
16.08.2018
07:47:07
Потому что надо скобочку открыть

Slava
16.08.2018
07:48:03
Это зависит от того, что называть сахаром.
делегирование инициализации, определение типов проперти из контекста

Alexander
16.08.2018
07:48:18
у меня интерфейс внутри класса возможно в этом проблема
Да нет, ругается на то, что реализации нет. Надо implement methods сделать

Quantum Harmonizer
16.08.2018
07:48:31
Slava
16.08.2018
07:49:14
Quantum Harmonizer
16.08.2018
07:49:28
val propX : Int by remoteDelegate
ага, делегироваине свойств

I
16.08.2018
07:49:56
Да нет, ругается на то, что реализации нет. Надо implement methods сделать
зачем делать implement если это внутри метода, а не на весь класс?

Alexander
16.08.2018
07:50:27
вообще не понял. Если есть интерфейс, то его методы надо реализовать, иначе он конечно ругается.

Quantum Harmonizer
16.08.2018
07:50:30
делегирование инициализации, определение типов проперти из контекста
Ну, вывод типов может подтормаживать в IDE. Вероятно, то же при компиляции.

Alexander
16.08.2018
07:51:05
Вывод типов в некоторых случаях подвисает, но это уже довольно хорошо вылизали

Slava
16.08.2018
07:51:17
Ну, вывод типов может подтормаживать в IDE. Вероятно, то же при компиляции.
я вот тоже задумался, без этого можно и обойтись, а на 4-х летнем проекте профит будет ощутим

I
16.08.2018
07:51:39
Вывод типов в некоторых случаях подвисает, но это уже довольно хорошо вылизали
когда я убираю fun consoleCallback(error: String) изинтерфейса, то все ок, никаких проблем

Admin
ERROR: S client not available

Google
Quantum Harmonizer
16.08.2018
07:51:54
Di7aK
16.08.2018
07:52:05
зачем делать implement если это внутри метода, а не на весь класс?
Зачем тебе вообще интерфейс когда можно передать коллбек

Slava
16.08.2018
07:53:05
если подсчитаешь, насколько ощутим, то и нам расскажи)
я не в r&d отделе, так что на такое времени у меня не будет) еще и гредл каждый день новую версию выпускает

я пока подсчитаю гредл уже всех на марс запустит

Alexander
16.08.2018
07:53:29
я вот тоже задумался, без этого можно и обойтись, а на 4-х летнем проекте профит будет ощутим
По-моему ерунда. Это же не скала, разница по компилляции с Java в последних версиях на глаз не чувствуется. А реальная перекомпиляция всего - это очень редкое явление, обычно IDEA все делает на лету

Quantum Harmonizer
16.08.2018
07:54:05
Вот кстати инкрементальная компиляция решает, да.

Slava
16.08.2018
07:54:28
очень крутая вещь

Alexander
16.08.2018
07:55:49
Я могу сказать, что у меня проет сильно большой (не энтерпрайз межгалактический, но крупный), но где-то со времен 1.1 проблем с временем компилляции вообще не было

Den
16.08.2018
12:43:33
Почему так мало вакансий на котлин+спринг...? Либо спринг с джавой, либо котлин под андроид

Di7aK
16.08.2018
12:45:06
потому что я например впервые слышу про какойто спринг

Artur
16.08.2018
12:45:18
@Tibidibi Потому что язык еще слишком молодой.

@Di7aK2 Про Спринг слышали те, кто занимается энтерпрайзной Джавой.

Di7aK
16.08.2018
12:46:12
уу я туда не лазил

Quantum Harmonizer
16.08.2018
12:47:16
Почему так мало вакансий на котлин+спринг...? Либо спринг с джавой, либо котлин под андроид
потому что энтерпрайз консервативный и кровавый, а в андроиде всё настолько плохо, что любая штука, улучшаяющая жизнь, приживается

Руслан
16.08.2018
12:48:24
Artur
16.08.2018
12:51:35
Можно, кстати, подсчитать для чего использую Kotlin участники этого чата: https://www.strawpoll.me/16280543

Руслан
16.08.2018
12:52:21
Ну давай попробуем

Вообще сравнивая численность @kotlin_jvm и @kotlin_mobile может показаться что отношение примерно 1 к 6) Но мне кажется что скорее 1 к 2

Kirill
16.08.2018
12:55:59


Google
Artur
16.08.2018
12:56:11
Я практически уверен, что основная масса пользователей Kotlin - это молодые Android-разработчики.

@KirillTim Об этом я как-то позабыл☹️

Quantum Harmonizer
16.08.2018
12:57:00
Ага, в JetBrains :)

Denis
16.08.2018
12:57:06
А еще есть Kotlin Native. Я на нем пытаюсь под iOS писать

Kirill
16.08.2018
12:57:11
а еще пишут "системный" софт. а еще банки там всякие, процессинг. это же не "веб"

Quantum Harmonizer
16.08.2018
12:58:10
:)
там же — люди с пятилетним опытом котлина, программисты на KtJS под RN и прочие прекрасные, но не репрезентативные явления :)

Страница 811 из 982