@kotlin_lang

Страница 241 из 982
Artur
10.07.2017
13:53:57
При попытке десерилизовать ругается from number 4: index value outside legal index range [0..3]

com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not deserialize value of type number 4: index value outside legal index range [0..3] at [Source: {"saveLogLevel":3,"sentLogLevel":4,"userBehaviour":1}; line: 1, column: 34]

whalemare
10.07.2017
13:55:26
При попытке десерилизовать ругается from number 4: index value outside legal index range [0..3]
а десериализатор у тебя родной, не кастомный да?

Artur
10.07.2017
13:55:41
И родной и кастомный одинаково ругаются

Google
Artur
10.07.2017
13:56:03
такая зависимость com.fasterxml.jackson.module:jackson-module-kotlin Тоже прикручена

Boris
10.07.2017
13:56:36
Я вот даже не представляю куда эта аннотация на энуме попадет

whalemare
10.07.2017
13:56:42
мб надо строку передавать а не число?

Boris
10.07.2017
13:57:40
Вообще для энумов у Джексона свои настройки

Artur
10.07.2017
13:58:04
Я вот даже не представляю куда эта аннотация на энуме попадет
такой способ один из рекомендуемых для Enum'ов

мб надо строку передавать а не число?
Спасибо, похоже дело именно в этом!

whalemare
10.07.2017
14:00:37
✌️

Саша Батанова
10.07.2017
15:00:11
привет! а почему нельзя сделать так: myEditText.text = ""

в джаве ведь можно было установить текст?

Anton
10.07.2017
15:01:11
as TextView не забыла?

тьфу

as EditText

Google
Anton
10.07.2017
15:01:42
при инициализации

Igor
10.07.2017
15:02:07
привет! а почему нельзя сделать так: myEditText.text = ""
Покажи ка мне, как ты _это_ на Java делаешь ? (с каких пор там свойства завезли?) myEditText.text = “”

Саша Батанова
10.07.2017
15:02:23
Anton
10.07.2017
15:02:46
покажи код

Саша Батанова
10.07.2017
15:02:50
myEditText.setText(""); - было же такое

Anton
10.07.2017
15:03:20
было и есть

Igor
10.07.2017
15:03:20
Ну и делай, как на Java: myEditText.setText(“”)

Саша Батанова
10.07.2017
15:03:39
не покажу) не имею возможности

Саша Батанова
10.07.2017
15:04:15
а

черт) точн)

Roman
10.07.2017
16:55:22
Где под Андроид будет правильно прописывать extension functions, если я хочу ими заменить Utils класс? В наследнике Application?

Igor
10.07.2017
16:56:31
Я обычно в файле commons.kt (если что-то специфичное, то в /commons/<что-будем-расширять>-extensions.kt )

Антон
10.07.2017
17:12:27
Я бы создал пакет extension, в котором создал бы файл View.kt, в который бы запихнул все екстеншены для вью

Dibro
10.07.2017
22:24:36


Жабра
10.07.2017
22:26:17
Кстати, вопрос: почему чаще всего в примерах классы называют Foo? Уже не однократно это видел.

Vladislav
10.07.2017
22:27:07
Foo bar

гугли

Google
Михаил
10.07.2017
22:33:05
можно подробнее?
заверни в компанион обжект

Dibro
10.07.2017
22:34:17
заверни в компанион обжект
ээээ, это уже не совсем в классе, так она по-сути будет статической

Михаил
10.07.2017
22:34:52
но в классе же)

и нестатическая насколько помнюю

Dibro
10.07.2017
22:38:34
и нестатическая насколько помнюю
я имею ввиду что для ее вызова наличие объекта необязательно

а я думал речь шла об экстеншене для которого объект необходим

Михаил
10.07.2017
22:43:09
а я думал речь шла об экстеншене для которого объект необходим
странно почему нельзя вызвать на объекте класса из котлина. синтаксис судя по всему не придумали

Dibro
10.07.2017
22:43:44
я уже говорил выше, такие экстеншены работают внутри класса и его наследников

Михаил
10.07.2017
22:45:09
ну из джавы же можно

почему из котлина нет

Dibro
10.07.2017
22:46:02
ну в джаве экстеншенов то и нет

Dibro
10.07.2017
22:46:17
там просто метод с ресивером же?

Михаил
10.07.2017
22:46:31
да

Nikita
11.07.2017
09:56:57
Друзья, посоветуйте пожалуйста корретный сопосб объявления класса унаследованного от viewHolder для recyclerView в андроид. Интересует способ объявления. До этого в java это был обыкновенный вложенный статик класс со своим конструктором/методами. В котлине на сколько я знаю статические параметры класса объявляются либо с помощью аннотации @JvmStaic либо companion onbject. Как поступаете вы в таком случае?

Anton
11.07.2017
09:57:33
так он по умолчанию не иннер

Nikita
11.07.2017
09:58:31
в книге korlin for android судя по всему именно так и советуют. Не делает его статическим.

Anton
11.07.2017
09:59:24
ну его делают статическим чтобы не было ссылки на енклосинг в джаве. а тут у него нет ее без модификатора иннер. вроде так)

Oleg
11.07.2017
10:00:48
Тоесть не добавлять ему никакой модификатор,

Михаил
11.07.2017
10:02:02
Тоесть не добавлять ему никакой модификатор,
да, вложенные классы в котлине по умолчанию статик

Google
Oleg
11.07.2017
10:02:13
Спасибо)

Nikita
11.07.2017
10:06:12
Точно, Inner classes carry a reference to an object of an outer class:. Благодарю

Igor
11.07.2017
10:15:00
Занимаюсь сейчас переписыванием одного довольно большого и плохо написанного проекта с java на kotlin, постоянно натыкаюсь там на туеву хучу статически инициализированных переменных, носящих служебный характер, из-за чего не получается нормально сделать в функциональном стиле кодирование/декодирование, шифрование/дешифрование. Вопрос такой: насколько плохим тоном считается статически лениво инициализировать что-нибудь, если сравнивать это с передачей контейнера со всем необходимым в функцию напрямую?

Egor
11.07.2017
10:15:49
делать компаньон??

Igor
11.07.2017
10:16:10
object { val mySmth: MyType by lazy { ... } }

делать компаньон??
ну, типа того

Egor
11.07.2017
10:16:19
выносить переменные на уроверь класса

Admin
ERROR: S client not available

Igor
11.07.2017
10:16:27
пример java-кода, который мне не нравится: https://github.com/corda/corda/blob/master/core/src/main/java/net/corda/core/crypto/Base58.java

Идеально переписать на две функции - encode/decode, но индексы и алфавит препятствуют этому

Egor
11.07.2017
10:17:17
конфертни их в котлин )

Igor
11.07.2017
10:17:55
нннормально, это же константы
окей, то есть я могу с чистой душой взять, и пихнуть их в приватный object в файле, где будут дислоцироваться функции, не привязанные к каким-либо классам?

Igor
11.07.2017
10:18:38
Roman
11.07.2017
10:21:34
+1. top-level намного лучше и идеоматичней. Делать object это лишнее

Igor
11.07.2017
10:23:36
Только вот функции с одинаковыми сигнатурами (в разные файлах), могут начать конфликтовать

Igor
11.07.2017
10:24:03
Только вот функции с одинаковыми сигнатурами (в разные файлах), могут начать конфликтовать
В зависимости от ситуации либо префикс алгоритма делаю, либо на пакеты дроблю

Igor
11.07.2017
10:24:51
префиксы ? (в 2k17)

Google
Igor
11.07.2017
10:26:09
префиксы ? (в 2k17)
ну, по типу base58_encode/base58_decode :)

Quantum Harmonizer
11.07.2017
10:26:52
Igor
11.07.2017
10:27:06
Base58.encode, Base58.decode
а разницы? На вкус и цвет

Quantum Harmonizer
11.07.2017
10:27:38
а разницы? На вкус и цвет
Подчёркивания — не ок.

Igor
11.07.2017
10:28:57
Подчёркивания — не ок.
Их можно заменить на camelCase. А вообще, коли это весьма низкоуровневые таски, то они пишутся как на каком-нибудь C, где как-раз нотации к именованию методов с нижними подчеркиваниями

Igor
11.07.2017
10:32:55
Кстати, погоняй бенчмарки на Base58.java, когда перепишешь, интересно как изменится перформанс

Igor
11.07.2017
10:40:20
Окей

? animufag ?
11.07.2017
12:34:17
AnkoComponent композятся? один в другой можно вставлять?

AnkoContext и _LinearLayout имеют между собой что-нибудь общее?

то есть нужна реюзабельная функция чтобы fun createView(ui: WTF) = with(ui) { ... } и чтобы её в фрагмент запихнуть и просто в контексте linearLayout использовать

Quantum Harmonizer
11.07.2017
14:55:20
? animufag ?
11.07.2017
14:56:32
а ну да.

Igor
11.07.2017
15:15:51
Я правильно помню, что нет кошерного способа объявить val с отложенной инициализацией? Только такое?? val app: Application get() = _app private lateinit var _app: Application

Boris
11.07.2017
15:17:10
lateinit var app: Application private set так не работает?

ну да, не работает

Boris
11.07.2017
15:18:27
лэзи круто, но нужно заранее знать откуда ты будешь брать значение

Igor
11.07.2017
15:19:20
ну да, не работает
Вроде работает, но мне IDEA при чтение из др файла подчеркивает что оно мутабельно - не могу это видеть ? https://i.gyazo.com/d1b350fe8eca063aad24c8c9df77bafa.png

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