
Алексей
23.05.2017
15:42:34
https://stackoverflow.com/questions/38942514/simple-java-program-100-times-slower-after-plugging-in-usb-hotspot
https://youtrack.jetbrains.com/issue/KT-15491
я указал ссылки которые похожи на мою проблему
но решение со stackoverflow не работает
у меня нет возможности проверить будет ли время компиляции меньше скажем по wi-fi или по ethernet, но когда подключен usb модем все тормозит

Google

Igor
23.05.2017
15:48:09

Алексей
23.05.2017
15:48:24
нет всегда
также я не знаю как будут обстоять дела с другими usb модемами, если что, то у меня yota usb-модем
единственное в чем я уверен - это то, что проблема будет воспроизведена если у вас:
ОС: windows 7 x64 SP1
IDE: intellij idea
Способ подключения к интернету: usb модем yota
То в таком случае при отключенном интернете время сборки будет 1 секунду, а при включенном интернете время сборки будет 15 секунд
В качестве проекта для сборки используется (https://kotlinlang.org/docs/tutorials/getting-started.html)

Igor
23.05.2017
16:02:58

Combot
23.05.2017
16:12:14
combot.org/chat/-1001032833563

Umren
23.05.2017
16:28:03
Алексей проблема странная и я почти уверен она очень простая, создай баг репорт на идею или в слак сходи у разработчиков спроси
тут видимо такого никто не видел)
https://youtrack.jetbrains.com/issues/IDEA

AliasAngel
23.05.2017
16:30:15
hola!
hello!

Алексей
23.05.2017
16:49:05

Umren
23.05.2017
16:49:58
поэтому стоит создать issue, навряд ли проблема в jps - она тупая как пробка

Google

Eugene
23.05.2017
17:50:28
Всем, привет
Ребята, а подскажите чего у меня не так с конфигурацией идеи и котлина. Ситуация следующая: стоит toolbox, через который установлена идея 2017.1.3 ультимейт. Я решил пройти Kotlin Koans, установил соответствующие плагины. Делаю первый таск, жмякаю по кнопке проверить решение, а мне в итоге идея выдает вот такое https://www.dropbox.com/s/u25tx75aaxwjlsx/Screenshot%202017-05-23%2023.53.09.png?dl=0
да, все это делается в макоси

Михаил
23.05.2017
18:01:46
Похоже на ошибку компиляции
Какой код пытаешься сбилдить?

Eugene
23.05.2017
18:02:55
код, вот такой
fun start(): String = "OK"
ругается вот в этой части
package koans.util
fun String.toMessage() = "The function '$this' is implemented incorrectly"
fun String.toMessageInEquals() = toMessage().inEquals()
fun String.inEquals() = this + ":" + if (mode == Mode.WEB_DEMO) " " else "<br><br>"
private enum class Mode { WEB_DEMO, EDUCATIONAL_PLUGIN }
private val mode = Mode.EDUCATIONAL_PLUGIN
по виду похоже на то что, где-то какие-то настройки неправильно сделаны
но вот где, не совсем понятно
может ли быть проблема в том что версия kotlin plugin в idea не соответствует самой версии idea?

Михаил
23.05.2017
18:06:07
Нет
Плагин котлина 1.1.2-3?

Eugene
23.05.2017
18:06:58
1.1.2-release-IJ2017.1-1

Михаил
23.05.2017
18:07:41
А студия ничего не подчеркивает в коде?)

Eugene
23.05.2017
18:07:43
в репозитории плагинов Котлин плагин доступен с вот такой версией v1.1.2-release-IJ2017.1-2

Михаил
23.05.2017
18:07:54
По виду вроде должно компилится

Eugene
23.05.2017
18:07:54
вообще ничего не говорит
мало того, она дает даже на определение оператора plus перейти
попробую сейчас кеш заинвалидировать

Михаил
23.05.2017
18:10:20
Попробуй в методе inequals возращаемый тип указать

Google

Eugene
23.05.2017
18:14:03
не, не помогло
он реально зачем-то ломится по ненужному пути

Admin
ERROR: S client not available

Eugene
23.05.2017
18:14:36
точнее по несуществующему
попробую плагин обновить, если не поможет, то в баг трекер пойду писать

Руслан
23.05.2017
18:25:49
можно просто скачать репозиторий коанов и там запускать обычный junit

Igor
23.05.2017
20:03:15
Можно как-то короче переписать (это синглтон с кастомной инициализацией)?
Просто свойство не подходит, тк оно будет var, что странно выглядит (да и IDEA подсвечивать будет).
companion object {
val instance: CustomSingleton get() = _instance
private lateinit var _instance: CustomSingleton
fun initialize(newInstance: CustomSingleton) {
_instance = newInstance
}
}

Михаил
23.05.2017
20:26:25
Могу ток другую реализацию синглтона подогнать)
class Singleton private constructor() {
companion object {
val instance = Singleton()
}
}

Dmitry
24.05.2017
05:58:55
Всем привет! В который раз открыл доку котлина в месте про sealed классы https://kotlinlang.org/docs/reference/sealed-classes.html , но так и не смог пока представить простой пример, где было бы удобно их использовать. Может кто-нибудь привести ситуацию?
в рамках андройда например, кто-либо использовал их в каких нибудь случаях?

Eugene
24.05.2017
06:06:30

Dmitry
24.05.2017
06:13:21
@evstep отличная статейка, спасибо! ) Понятней стало

Quantum Harmonizer
24.05.2017
06:21:46

Dmitry
24.05.2017
06:23:37
Quantum Harmonizer ? непонятно, зачем такой класс может пригодиться. Или это просто пример?

Руслан
24.05.2017
06:30:17
ну вот у меня в коде используется
sealed class CommandResult
data class SuccessResult(val message: String = "") : CommandResult()
data class FailureResult(
val message: String = "",
val exitCode: Int = 0,
val exception: Throwable? = null
): CommandResult()
я из метода возвращаю CommandResult, и пользователь соответсвенно будет проверять это SuccessResult или FailureResult.
fun str(cr: CommandResult): String = when (cr) {
is FailureResult -> "Failure"
is SuccessResult -> "Success"
}
Как видишь тут не пришлось делать else branch, т.к. компилятор точно знает что будет одно из двух


Igor
24.05.2017
06:34:21
в рамках андройда например, кто-либо использовал их в каких нибудь случаях?
По факту enum на стероидах, когда у разных вариантов должны быть разные параметры.
Это такая реализация “union типа” (на вики есть статья, могу кинуть пару ссылок).
Конкретно для “android” не знаю, где пригодится, а вот для “бизнес логики” я часто использую.
Вот одни пример “нужно записать ачивку в игре, у некоторых ачивок есть дополнительные параметры, а у некоторых нет”
sealed class Achievement
object LoginWithVk : Achievement()
object BecomeVip : Achievement()
class NewRecord(val score: Int) : Achievement()
fun unlockAchievement(achievement: Achievement): Single<Unit> = when (achievement) {
LoginWithVk -> just(println("Login with VK"))
BecomeVip -> just(println("Become VIP"))
is NewRecord -> just(println("New Record, score = ${achievement.score}”))
}

Google

Андрей
24.05.2017
07:03:55

Igor
24.05.2017
07:09:59
Кстати да, Dmitry, почитай “Изучай Haskell во имя добра!” - многие вопросы отпадут сами собой.