@kotlin_lang

Страница 648 из 982
Mikhail
23.04.2018
10:40:52
видимо перенесли на другой ip, у меня показывает, что все ок

Quantum Harmonizer
23.04.2018
10:41:59
Там несколько IP.

Жабра
23.04.2018
10:44:27
Ток щас подумал... А чем отличаются withContext и runBlocking? Первый откладывает вычисления, а второй блокирует поток?

Roman
23.04.2018
10:47:48
withContext - suspend функция, которая позволяет переключить контекст внутри другой корутины, например сделать запрос к бд в фоне. Ее аналог async(Context) { ... }.await().

Google
Roman
23.04.2018
10:48:57
А вообще да, они чем-то похожи. Первая блокирует корутину, вторая тред...

Любопытно.

Roman
23.04.2018
10:51:10
Кстати раньше withContext назывался иначе: run.

Roman
23.04.2018
10:51:42
Но он конфликтовал со стандартным run и его переименовали.

Жабра
23.04.2018
10:55:12
Черт, всё же очень не хватает в Anko экстеншена по типу indeterminateProgressDialog("Ожидание...") { startSuspendFunction() } Чтобы не дергать cancel() постоянно. Могу сам написать, но встроенный сахарок вкуснее. :)

Vladislav
23.04.2018
11:00:21
Никто не подскажет, а где jdk 6 версии взять, а то на оф сайте аутентификацию требуют, а в репозиториях только 8 и 9?

Жабра
23.04.2018
11:02:48
Не рекомендую так делать. Progress Dialog не переживает пересоздание Activity.
А какая разница? Что оно будет упаковано в красивую функцию, что самому дёргать cancel().

Roman
23.04.2018
11:04:44
Я к тому что их вообще не стоит юзать.

Google
Жабра
23.04.2018
11:05:48
Я к тому что их вообще не стоит юзать.
Ну лол. А если мне нужно притормозить пользователя? Типо "погодь-погодь, оно ещё грузится".

Sergey
23.04.2018
11:06:44
это плохой UX паттерн, но лучше в @kotlin_mobile это обсуждать

Жабра
23.04.2018
11:08:01
это плохой UX паттерн, но лучше в @kotlin_mobile это обсуждать
> это плохой UX паттерн Где-то - возможно, но не всегда.

Подскажите, плз, чё делать Написал свою функцию, назвал её так же, как аналогичная называется в anko (indeterminateProgressDialog), а потом подумал, что это не оч и переименовал, но походу я как-то переименовал в кешах оригинальную anko функцию, потому что теперь вылазит e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'showProgressDialog' into ... Сделал инвалид кешей, ребилд проекта, клин проекта, не помогает.

Bogdan
23.04.2018
18:34:39


а то количество воженых ифов растет

Quantum Harmonizer
23.04.2018
18:35:52
первые два условия слить

Bogdan
23.04.2018
18:40:28
первые два условия слить
не они будут нужны, просто уже на начале столько ифов что глаза текут

а дорого парсить дабл? я про нативный

Quantum Harmonizer
23.04.2018
18:41:39
а дорого парсить дабл? я про нативный
всё зависит от контекста)

Bogdan
23.04.2018
18:42:18
всё зависит от контекста)
это фильтер на TextField, из JavaFX

Quantum Harmonizer
23.04.2018
18:42:39
это фильтер на TextField, из JavaFX
На каждый вводимый чар? Незаметно.

Bogdan
23.04.2018
18:42:52
попробовать заменить императивный код на ОО
ну я вот тут хочу узнать есть что-то в котлине ?

Artem
23.04.2018
18:42:58
из этого куска не понятно намерение

Quantum Harmonizer
23.04.2018
18:43:10
Google
Quantum Harmonizer
23.04.2018
18:43:45
попробуй заменить условия виртуальными вызовами

Bogdan
23.04.2018
18:44:00
интерфейсы есть и классы)
? ради фильтра) есть еще ArrowKt )

Quantum Harmonizer
23.04.2018
18:54:06
В котлине нет способа сделать самый компактный в мире фейл, т. е. throw null?

Kirill
23.04.2018
18:56:44
null!! ?

Quantum Harmonizer
23.04.2018
18:58:15
null!! ?
Точно! Спасибо.

Хмм, забавно. INVOKESTATIC kotlin/jvm/internal/Intrinsics.throwNpe ()V

эхх, как же байт-код зависим от стдлибы...

хмм, а чем вызов throwNpe с последующим sanitizeStackTrace лучше создания и выброса KNPE на месте?

Жабра
23.04.2018
19:11:26
Точно! Спасибо.
Это рофл такой что-ли?

Quantum Harmonizer
23.04.2018
19:11:43
Это рофл такой что-ли?
Нет, я правда об этом не подумал.

dimiii
23.04.2018
19:36:36
@egor_bugaenko - твой выход!

Quantum Harmonizer
23.04.2018
19:37:25
@yegor256, его тут нет

Bogdan
23.04.2018
19:37:41
@egor_bugaenko - твой выход!
и он предложит как ждый иф обернуть в объект иф, и получится те же колбеки

написал костиль

Alina
23.04.2018
19:38:13
@egor_bugaenko - твой выход!
кастование в канале разве не запрещено? ?

dimiii
23.04.2018
19:38:22
Bogdan
23.04.2018
19:38:57
но понял проще сделать toDouble

Ну не в объект, а в делегаты, надеюсь
то же ведь, или ты про что ?

Quantum Harmonizer
23.04.2018
19:40:52
кастование в канале разве не запрещено? ?
«кастование»? это что-то типа неймдроппинга?)

dimiii
23.04.2018
19:41:22
но понял проще сделать toDouble
>то же ведь - ой да я под вечер путаться начал, декораторы имел в виду

Google
Bogdan
23.04.2018
19:42:25
>то же ведь - ой да я под вечер путаться начал, декораторы имел в виду
ну да, но это объект на один иф, мне проще сделаать toDaouble, мне нужно производительное решение

dimiii
23.04.2018
19:46:15
ну да, но это объект на один иф, мне проще сделаать toDaouble, мне нужно производительное решение
HFT на JavaFx? Понимаю. Серьезно, я бы не заморачивался. В смысле, о производительности сложно судить в управляемых средах. Но да, проверка регуляркой и каст - рабочее решение.

Alexander
23.04.2018
19:47:10
Я не очень в контексте, что тут происходит, поэтому предложения в общем: 1. Если нужно проверить, что всё нормально, а иначе взорваться, то есть require require(tf.isContentChange) { "Content not changed" } require(tf.isAdded && !tf.isReplaced) 2. Если есть какое-то простое возвращаемое значение для непройденных проверок, ифы заменить ранними возвратами: tf.isContentChange || return SOMETHING tf.isAdded && !tf.isReplaced || return SOMETHING_ELSE 3. Если для непройденных проверок будет тоже нормальное вычисление, то выноси в методы отдельные при достижении определённой глубины. Наверное так.

Bogdan
23.04.2018
19:51:44
str.toDoubleOrNull()
ну я как раз хотел этого избежать, и вроде механизм позволяет это сделать, но в итоге прийдется юзать это

Admin
ERROR: S client not available

Alexander
23.04.2018
19:52:50
А контракт какой хочешь получить? Могу предположить либо просто true при наличии, false при отсутствии. Или всё же Double при наличии, null при отсутствии?

Kirill
23.04.2018
19:52:58
Преждевременная оптимизация хуже преждевременного <понятно чего>

Bogdan
23.04.2018
19:53:50
Это же отличный вариант
ну я раньше, давным давно, целую строку проганял, хз что лучше

str.toDoubleOrNull()
не канает, минус не введешь

Kirill
23.04.2018
19:54:58
Или тебе нужен просто '-' ?

Bogdan
23.04.2018
19:55:17
Чейта?
ну вводишь "-", и он проверяет

ладно есть проверенный варянт

Boris
23.04.2018
19:57:05
Если это жавафх то рекомендую готовым форматтером воспользоваться

Bogdan
23.04.2018
19:58:53
Если это жавафх то рекомендую готовым форматтером воспользоваться
а он есть ? Не видел. Даже в либе controlfx таже проблема они также делают (+-) как подсказал @KirillTim

dimiii
23.04.2018
20:17:16
https://github.com/JetBrains/kotlin/blob/1.2.40/libraries/stdlib/src/kotlin/text/StringNumberConversions.kt#L446

Плюсы, минусы, научная запись, hex - все в лучшем виде

Google
Костя
23.04.2018
20:31:19
Quantum Harmonizer
23.04.2018
20:32:15
Это что-то из жанра ММОРПГ ;))
ClassCastException: not enough mana for java.lang.String

Bogdan
23.04.2018
20:32:49
Плюсы, минусы, научная запись, hex - все в лучшем виде
да но когда у меня есть итоговая строка, но у меня пользователь вводить сивол, мне нужно, зачастую проверить символ. Короче костыль есть, работает +- быстро

Anton
23.04.2018
21:23:02
И еще вопрос, а как собственно в ktor добавить свой callback на закрытие соединения? Если я хочу подчистить ресурсы, если клиент закрыл сокет.

Anton
23.04.2018
21:28:42
finally
Ну не, не пойдет. Пишу я значит по совету выше в клиента через OutgoingContent.WriteChannelContent у меня есть канал для записи инфы, но я не могу повесить событие, что клиент отключился. Могу только через isClosedForWrite проверять каждый раз (что не очень удобно).

Anton
23.04.2018
21:30:16
Спс, Кирилл :)

Pavel
23.04.2018
21:51:58
Ребят, подскажите плз, чувствую себя дебилом compile 'com.google.code.gson:gson:2.8.2' import com.google.gson.annotations.SerializedName ... val gson = Gson() и получаю Error:(4, 12) Kotlin: Unresolved reference: google Error:(38, 20) Kotlin: Unresolved reference: Gson Градля синхронизируется, подтягивает библиотеки, кладет в кэш, но блин анресолвед и все.

И автокомплит от среды тож не работает

Pavel
23.04.2018
21:54:11
Эм... не знаю, как узнать?

Dibro
23.04.2018
21:54:25
Эм... не знаю, как узнать?
кинь сюда build.gradle

Pavel
23.04.2018
21:54:52
https://simplecat.tk/shots/shot-20180424-005437.png

Причем kafka-clients работает

Dibro
23.04.2018
21:59:24
https://simplecat.tk/shots/shot-20180424-005437.png
попробуй перезапустить идею, хз

Pavel
23.04.2018
22:00:28
Да пробовал, invalidate cache and restart, rm -rf $HOME/.gradle/caches/, ./gradlew build --refresh-dependencies

Вообще ничего не помогает

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