@kotlin_lang

Страница 819 из 982
Bogdan
21.08.2018
19:13:23
тогда как это будет выглядеть в декомпайле?
команды точно не помню, но возращаемы результат хранится в EAX регистре

и просто берется из него \клдется на стек\пишется в переменую и т.д

Dibro
21.08.2018
19:14:08
Dmitry
21.08.2018
19:14:21
Будет красный код

Google
Bogdan
21.08.2018
19:14:27
не, я говорю про декомпайл в виде джавы
ты обычный подекомпилируй

котлине генерирует совместимый с джаваой байткод, а не джава код (как-то так)

Dibro
21.08.2018
19:16:06
котлине генерирует совместимый с джаваой байткод, а не джава код (как-то так)
который я могу декомпилировать в джаву, и мне интересно что получится

видимо декомпилятор упадет тогда

Bogdan
21.08.2018
19:16:21
Будет красный код

Vladimir
21.08.2018
19:16:29
котлине генерирует совместимый с джаваой байткод, а не джава код (как-то так)
Ну скорее декомпилятор при таком вводе генерирует невалидный Java-код, как и в многих других ситуациях

OlegKrikun
21.08.2018
19:46:43
Это только у меня на 1.2.61 компиляция чуть ли не в два раза дольше? о_О

или мне машину проверить? =)

Maxim
21.08.2018
21:18:28
Это только у меня на 1.2.61 компиляция чуть ли не в два раза дольше? о_О
Ну, даже если дольше, то точно не в два раза. Субъективно скорость та же.

OlegKrikun
21.08.2018
21:19:01
Да не, всё норм =) Хром чот решил пожрать проца, котлин непричом =)

Google
Sergey
22.08.2018
07:48:26
@noraltavir Осилил в итоге gradle dsl со своей проблемой?

Alexander
22.08.2018
07:48:40
неа. Переписал на груви

Пока нет времени возиться.

Sergey
22.08.2018
07:50:09
А смотрел на такую штуку withGroovyBuilder { } ?

Alexander
22.08.2018
07:51:07
Нет, но это по-моему оверкил. У меня нет задачи использовать kotlin dsl. Просто хотелось попробовать.

Sergey
22.08.2018
07:52:12
оно работает. но красоты и удобства нет

Alexander
22.08.2018
07:52:34
оно это kotlin dsl?

Пока не очень впечатляет. Вообще, я в последнее время делал несколько DSL для котлины и очень впечатлен обилием возможностей. Котлиновские расширения по сравнению с грувевыми кложурами с бесконечными rehydrate - это конечно просто неописуемое улучшение.

Sergey
22.08.2018
08:08:18
конкретно gradle dsl c withGroovyBuilder. Kotlin dsl хорош, у нас уже достаточно много его в проде бегает

Денис
22.08.2018
08:35:15
Добрый день. Нужно сравнить опциональные Float. Делаю проверку на null перед сравнением вот так вот: val sum: Float? = null val partnerMinOrder: Float? = null ... if (sum!= null && partnerMinOrder != null){ if (sum < partnerMinOrder){ // логика 1 }else{ // логика 2 } } Но этот код некрасивый. Можно ли на котлине переписать это более лаконично? Буду благодарен за советы

Денис
22.08.2018
08:36:28
не использовать null
логика такая, что их нельзя не использовать

Vitalii
22.08.2018
08:36:31
Если их сделать null-safe, то у тебя будет одна проверка.

Денис
22.08.2018
08:37:18
не использовать null
типы должны быть опциональны. Такие условия. Глупый совет, если честно. ?

Bogdan
22.08.2018
08:38:04
Andrew
22.08.2018
08:38:47
val sum: Float? = null val partnerMinOrder: Float? = null ... sum ?: return partnerMinOrder ?: return if (sum < partnerMinOrder){ // логика 1 }else{ // логика 2 }

Vitalii
22.08.2018
08:40:29
if (sum < partnerMinOrder){ // логика 1 } else if (sum > partnerMinOrder) { // логика 2 } Опционально } else { return; // или логика 3 }

Денис
22.08.2018
08:41:10
Google
Костя
22.08.2018
08:41:14
а почему не использовать run, let ?

например

Andrew
22.08.2018
08:41:26
Для else { return } пример выше. Если есть там что-то другое — без шансов.

Костя
22.08.2018
08:41:34
и дальше работать уже внутри функции с non-null value

я бы делал так

Vitalii
22.08.2018
08:41:58
Для else { return } пример выше. Если есть там что-то другое — без шансов.
Лично я не люблю стиль, когда делают if (something) return

Andrew
22.08.2018
08:42:07
а почему не использовать run, let ?
Потому что они работают с одним значеним и там нарисуется ещё большая вложенность, я полагаю.

Денис
22.08.2018
08:42:26
а почему не использовать run, let ?
дело в том, что данные операторы применительны к одному объкекту, но у меня в итоге сравнивается 4 объекта, это я в примере сократил

Andrew
22.08.2018
08:42:27
Лично я не люблю стиль, когда делают if (something) return
Не любишь — тогда у тебя идеальный код, оставляй как есть :)

Костя
22.08.2018
08:42:32
а with не работает с несколькими сразу ?

Vitalii
22.08.2018
08:42:42
Костя
22.08.2018
08:42:53
уже не помню точно, котлина нету под рукой )

Andrew
22.08.2018
08:44:00
В смысле? Мне, какбэ, нечего оставлять.
Сорян, с топик-стартером перепутал. Энивей, без раннего выхода и вынесения части кода в отдельную функцию с non-null параметрами я без идей, как вышеуказанный код менять.

Костя
22.08.2018
08:44:14
ну для двух точно бы вложенные сделал бы, и вынес в отдельный метод, для 4-х конечно выглядеть будет адово вложенность, это верно (

Vitalii
22.08.2018
08:45:49
Сорян, с топик-стартером перепутал. Энивей, без раннего выхода и вынесения части кода в отдельную функцию с non-null параметрами я без идей, как вышеуказанный код менять.
Ну вот в моём сообщении логика такая, что мы просто игнорируем случай, когда одно равно другому. Если логике программы это не мешает, то мы в т.ч. игнорируем случай, когда оба null. Вместо двух return мы делаем вторую проверку явной.

Хотя всё равно стрёмно ?

Maxim
22.08.2018
08:47:29
Хотя всё равно стрёмно ?
и не работает для nullable

Google
Andrew
22.08.2018
08:48:25
Зависит от того, на чём хочется сосредоточить внимание в функции и насколько null там ожидаем. Если это краевой случай, то ранним возвратом можно описать контракт функции (как require, только без исключения). Заглянув в код, другой человек сразу увидит это, ему не придётся парсить все ифы по ходу пьесы.

Igor
22.08.2018
09:35:34


Искал на разных стаковерфлоу, единственное, что стало ясно - эта привязка должна быть с 606 блока, на скрине

А в этих двух инпутах отображались бы широта и долгота того места, куда я двинул маркер

Andrew
22.08.2018
09:37:42
Звучит как вопрос для @kotlin_mobile

Igor
22.08.2018
09:38:08
Ну это не мобилка, это веб)

Anton
22.08.2018
09:38:10
это не андроид

Admin
ERROR: S client not available

Andrew
22.08.2018
09:38:43
Слона-то я и не заметил.

Igor
22.08.2018
09:39:41
Возможно, я что-то просто по синтаксису не догоняю, не могу связать эти два инпута в блоке onChangeFunction

Igor
22.08.2018
10:07:20
Тут нада знать гугл мап
https://developers.google.com/maps/documentation/javascript/reference/marker Ну их АПИ мне не сильно помогло

Никита?❄️
22.08.2018
10:45:05
вопрос таков: в IDEA/Android Studio после врубления Power Save Mode отрубается автопроверка синтаксиса. по-сути, когда мне нужно сделать проверку - мне надо вырубить энергосбережение, подождать проверку, отрубить его. а есть ли способ вручную запустить эту проверку в power save (видимо, какой-то комбинацией клавиш)?



Никита?❄️
22.08.2018
10:45:38
Build :)
а что-то полегче?)

Igor
22.08.2018
10:49:46
Пасаны, а как вам идея добавить guards для when (типа как в scala ? (не кидайтесь камнями))? А то иногда, после when(...) приходится уточнять, вложенными if

Vishnyakov
22.08.2018
10:51:15
а что-то полегче?)
акум нормальный купить

Quantum Harmonizer
22.08.2018
10:51:30
Никита?❄️
22.08.2018
11:06:26
акум нормальный купить
тут проблема в том, что идея подлагивает, хоть у меня и i7-8700K

Google
Vishnyakov
22.08.2018
11:06:56
Никита?❄️
22.08.2018
11:07:11


Vishnyakov
22.08.2018
11:07:11
ибо у меня на куда более слабом железе ничего не лагало на линухе

винда... проехали

Никита?❄️
22.08.2018
11:07:28
=)

Никита?❄️
22.08.2018
11:26:21
надо было Ryzen брать ?
Тут не так сильно параллелится задача

Di7aK
22.08.2018
11:26:22
она лагает от озу

Никита?❄️
22.08.2018
11:26:42
она лагает от озу
Так 4 гига свободных есть

И если что можно в своп уйти

Di7aK
22.08.2018
11:26:58
у меня как то было 4гб, лагало шописта, добавил еще на 4гб и стало все собирать за 12 сек

Никита?❄️
22.08.2018
11:27:52
у меня как то было 4гб, лагало шописта, добавил еще на 4гб и стало все собирать за 12 сек
Тут сборка быстрая, но в процессе работы, когда ты пишешь код, любое новое действие вызывает 0.5-1 секунды зависания

То есть ты написал if - оно подвисло

Di7aK
22.08.2018
11:28:19
с таким встречался но редко

Никита?❄️
22.08.2018
11:28:30
Внутри него написал переменную и нажал точку - подвисло

Это спустя пару часов работы начинается

Di7aK
22.08.2018
11:28:46
в основном из за той же озу, тоесть после разворота студии спустя два дня

Никита?❄️
22.08.2018
11:29:14
Ну не 32 гига же ставить

Di7aK
22.08.2018
11:29:20
а проц у меня вообще заглушка

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