
Mikhail
21.10.2017
17:19:10
прочесть может что посоветуете?

Quantum Harmonizer
21.10.2017
17:19:43

Mikhail
21.10.2017
17:20:59
код из вот этого https://habrahabr.ru/post/323862/ поста пытаюсь перевести в котлин

Google

Quantum Harmonizer
21.10.2017
17:21:47

Mikhail
21.10.2017
17:24:14
пробовал. Пришлось руками дописывать. Конвертер вообще подставлял "звездочки"

Gor
21.10.2017
17:24:53

Mikhail
21.10.2017
17:25:15
да)

balolam
21.10.2017
17:54:32

Anton
21.10.2017
18:00:33
класный кодстайл
в значении уродский

balolam
21.10.2017
18:01:49
Та решение само по себе неудачное, оно или для тривиальных вещей или вообще не использовать.

Anton
21.10.2017
18:02:09
я не особо разбирался но он кажись тупо скопировал дорфмана решение)))
а адаптер делегейтс норм

Vitalii
21.10.2017
19:08:11

Dmitriy
22.10.2017
15:52:37
Всем привет , скажите пожалуйста а реально ли сделать функцию с параметром неопределенного типа(), а потом в самой функции уже смотреть что передают и делать свои дела?

Dibro
22.10.2017
15:55:10

Google

Dmitriy
22.10.2017
15:55:34
спасибочки

Artem
22.10.2017
15:55:35
Ну ты сейчас о Дженериках говоришь.
Ну а в самой функции уже будешь проверять тип when(T){ .....}

Quantum Harmonizer
22.10.2017
15:56:02

Dmitriy
22.10.2017
15:56:04
Очень хорошо

Artem
22.10.2017
15:56:43

Boris
22.10.2017
15:56:49

Dmitriy
22.10.2017
15:57:26

Quantum Harmonizer
22.10.2017
15:57:47

Dmitriy
22.10.2017
15:58:41
when хорошо работает для этого, только я бы тебе не советовал так делать
через if вместо when

Dibro
22.10.2017
15:59:03

Quantum Harmonizer
22.10.2017
15:59:18

Dmitriy
22.10.2017
16:00:00
хз when вроде как swich ,if проще

Boris
22.10.2017
16:00:00
нет, я не про иф говорю а про то, чтобы например сделать несколько разных функций, которые принимают параметры разных типов
такой подход он для джаваскрипта работает или для груви, но в котлине куча средств, как решить вопрос типов в компайл-тайме
если поделишься своей задачей, я думаю тут тебе посоветуют как лучше это сделать на котлине

Dmitriy
22.10.2017
16:06:52
делаю простую сохранялку настроек в приложении использоваться будет не часто и нет больших объемов
вот так пока слепил(не проверял еще)
//запись
fun save(key:String,value:Any){
//смотрим что передали
when (value) {
//записываем
is Int -> settings!!.edit().putInt(key,value).apply()
is String ->settings!!.edit().putString(key,value).apply()
is Boolean ->settings!!.edit().putBoolean(key,value).apply()
else -> return
}
}

Quantum Harmonizer
22.10.2017
16:08:11

Igor
22.10.2017
16:08:25
Можно же перегруженных методов наделать (а бы ли бы тайпклассы… ?)
И что у тебя там с !! ?

Dmitriy
22.10.2017
16:09:54
И что у тебя там с !!
хз студия подсказала так сделать

Google

Boris
22.10.2017
16:12:59
Ну вот да, вполне можно было бы для каждого типа сделать отдельный метод
Это во всех смыслах лучше

Vlad
22.10.2017
19:02:50
Привет всем. Пробую писать android проект на котлине. Но что то не получается заюзать dagger 2. Компонет, модуль создал - все компилируется. Но как только где то добавляю @Inject выдает вот эту ошибку при компиляции http://prntscr.com/h0m8kp.
gradle:
http://prntscr.com/h0mbtp
http://prntscr.com/h0mao2
http://prntscr.com/h0masq
AppModule:
http://prntscr.com/h0mb15
AppComponent:
http://prntscr.com/h0mb53
В чем может быть проблема?

Anton
22.10.2017
19:04:55
капт подрубил?
или generateStubs

Vlad
22.10.2017
19:05:09
apply plugin: 'kotlin-kapt'
читал такое задепрекейтили
kapt {
generateStubs = true
}

Евгений
22.10.2017
19:14:00
Как задепрекейтили, а чё стабы теперь автоматом генерятся?
Попробуй ещё в gradle прописать зависимость не просто Даггер а именно Даггер андроид. Посмотри у Даггера на гитхабе как подрубить

Андрей
22.10.2017
19:22:31

Bulat
22.10.2017
20:43:24
В чем разница в вызовах someVar?.someMethod() и someVar?.let{it.someMethod()} ?

Dibro
22.10.2017
20:43:52

Bulat
22.10.2017
20:45:02
ну то есть да
:)

Dibro
22.10.2017
20:45:07
и разницы нет

Bulat
22.10.2017
20:45:21
спасибо

Quantum Harmonizer
22.10.2017
20:45:46

Dibro
22.10.2017
20:46:00

Google

Саша
22.10.2017
23:14:29
Что такое .apply и в чем разница между .let?
Насколько я знаю .let это как if(notnull), а .apply?

Artem
22.10.2017
23:22:00
Если я не ошибаюсь, то ЭПЛАЙ возвращает(АВТОМАТИЧЕСКИ) тебе объект после всех проведенных над ним операций, а в ЛЭТ ты возвращаешь значение с помощью блока РЕТУРН.
Если я не прав, то пожалуйста, поправьте меня.

Anton
22.10.2017
23:38:32
https://medium.com/@tpolansk/the-difference-between-kotlins-functions-let-apply-with-run-and-else-ca51a4c696b8

Quantum Harmonizer
23.10.2017
07:12:16

Artem
23.10.2017
07:15:03
Могли бы вы рассказать как?
С ламбдами опыта мало.

Vic
23.10.2017
07:18:07
Лучше почитать доку

Quantum Harmonizer
23.10.2017
07:18:25

Vic
23.10.2017
07:19:15
Плюс инлайн, ноинлайн, кроссинлайн - там свои особенности

Artem
23.10.2017
07:21:50

Anton
23.10.2017
07:22:10
ну поздравляю)
там удобная табличка снизу

Artem
23.10.2017
07:23:40
Я ее видел.

Quantum Harmonizer
23.10.2017
07:29:37
Странно, что в Receiver (this) они написал this@MyClass там, где ресивера нет. То есть я понимаю, что они имели в виду, но выглядит неочевидно.

Anton
23.10.2017
07:33:17
Я ее видел.
еще раз поздравляю. статья не тебе а чуваку который вопрос задал

Artem
23.10.2017
07:34:35

Igor
23.10.2017
09:38:45
А это норм? Не планируется какие-то оптимизаций для string-interpolatins?
https://i.gyazo.com/8d5e4afc4e8d12f82ba8907494453a7f.png

Руслан
23.10.2017
09:42:54
Ну вполне, SB очень заоптимизирован в jvm

Quantum Harmonizer
23.10.2017
09:44:06
ну, append("") можно было бы и выпилить)
и создание буфера тогда становится очевидно бесполезным

Google

Руслан
23.10.2017
09:45:32
Ну можно микробенч тут написать, ставлю на то, что не будет разницы с return smt.toString()

Vladimir
23.10.2017
09:48:33
А ведь да, после оптимизаций JIT тут может не остаться ничего лишнего.
Но мне кажется, лишний байткод всё равно ни к чему.

Quantum Harmonizer
23.10.2017
09:50:01
Это очень неоднозначный вопрос.
С одной стороны, чистый байт-код — классно; с другой, это очень сильно усложнит компилятор оптимизациями, которые, вероятно, уже делаются рантаймом.

Vladimir
23.10.2017
09:51:18
Интересно, что генерит компилятор Groovy в такой ситуации

Roman
23.10.2017
09:52:52
https://youtrack.jetbrains.com/issue/KT-19738

Quantum Harmonizer
23.10.2017
09:57:55