
Konstantine
08.12.2017
11:31:09
enum class A(val s: String) {
X("123"),
Y("321")
}
Надо получить массив
["123", "321"]

Quantum Harmonizer
08.12.2017
11:31:58

Konstantine
08.12.2017
11:35:47

Quantum Harmonizer
08.12.2017
11:36:24

Google

Konstantine
08.12.2017
11:36:41

Quantum Harmonizer
08.12.2017
11:38:13

Konstantine
08.12.2017
11:38:45
A.values().map(A::s).toTypedArray() няшнее по мне)

Quantum Harmonizer
08.12.2017
11:40:40
Вот, кстати, интереснейшая дичь про toArray. https://shipilev.net/blog/2016/arrays-wisdom-ancients/

Роман
08.12.2017
20:14:02
Господа, а подскажите, как вы обходите проблему с ArgumentMatchers.any() в Mockito?

Михаил
08.12.2017
20:27:29
если речь о nullability, то через kotlin mockito

Роман
08.12.2017
20:28:56
ну да, ругается именн на это
спасибо за информацию

Gor
09.12.2017
00:49:45
ну и еще в связке с any может понадобится eq() еще, вот его взял с котлин-мокито
в результате вышло два вспомагательных метода https://pastebin.com/2TLbVrrn

Роман
09.12.2017
10:27:21

egon
09.12.2017
10:31:40
Добра!
Возможно офтоп, но есть ли рабочий плагин для деплоя на heroku для idea 2017.3?

Google

Boris
09.12.2017
13:22:56
кто смотрел доклады к котлин-найт? что там самое интересное, а то всё посмотреть точно не выйдет
не помню была ли ссылка, но вот на всякий случай https://kotlinconf.com/talks/

Igor
09.12.2017
13:27:04

Boris
09.12.2017
13:28:57

Osip
09.12.2017
18:56:28
Добрый вечер. Решил попробовать новую фишку с мультиплатформерностью и что-то не пойму что я делаю не так.
(сейчас прикреплю скриншоты)
Это в JVM модуле:
А это common
Метод compress() принимает InputStream, объявленный в common модуле, но когда пытаюсь вызвать его из jvm модуля, то выходит то, что видно на первом скриншоте.
В общем, оказалось, что не работает только с typealias, хотя в доках написано, что так можно. Куда присылать багрепорт?

Quantum Harmonizer
09.12.2017
19:44:53
kotl.in/issue

Osip
09.12.2017
19:45:00
Спасибо

Igor
10.12.2017
10:40:57
Кто нибудь рефлектил (через kotlin-reflection) kotlin ext-functions на топ левеле?
Находили какой-нибудь ворк-эраунт, что если в файле есть хоть один “неподдерживаемый тип функции”,
то нельзя получить инфу не по одной другой?

Roman
10.12.2017
11:58:28


Igor
10.12.2017
12:00:33
Exception in thread "main" kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Call is not yet supported for this function: public inline fun java.io.Reader.buffered(bufferSize: kotlin.Int = ...): java.io.BufferedReader defined in kotlin.io[DeserializedSimpleFunctionDescriptor@72057ecf] (member = null)
at kotlin.reflect.jvm.internal.KFunctionImpl$caller$2.invoke(KFunctionImpl.kt:89)
at kotlin.reflect.jvm.internal.KFunctionImpl$caller$2.invoke(KFunctionImpl.kt:34)
При это method.kotlinFunction я вызываю у совершенно др метода.
Но реализация внутри сначала получает список всех метод, а потом просто ищет по списку.
В итоге каждый раз валится для любого метода.
Господа, а такое тупо писать или норм?
suspend fun findExamples(context: Context): List<String> =
run(CommonPool) {
… // синхронный код
}

Vitalii
10.12.2017
16:18:03

Google

Igor
10.12.2017
16:19:32
Скорее всего как то не так))
run это метод из kotlinx.coroutines.experimental
https://i.gyazo.com/92e99f40bcc879ffa35414e90eb34d7a.png
Просто смущает что я run использую что бы выполнить синхронный код на бэкгронд-треде.
Кажется что он не для этого предназначен, а нужно брать async() { … }
Но у async мне не нравится семантика - снаружи придется дергать await()

? animufag ?
10.12.2017
16:36:16
https://discuss.kotlinlang.org/t/calling-blocking-code-in-coroutines/2368/2
у елизарова есть такой же код
наверное норм

Igor
10.12.2017
16:46:03
ОК, успокоил ?

Pavel
10.12.2017
16:46:37
А в чём в отличие run от launch? Run возвращает unit а launch возвращает job?

Igor
10.12.2017
16:47:24
run() возращает T
https://i.gyazo.com/92e99f40bcc879ffa35414e90eb34d7a.png

Pavel
10.12.2017
16:49:08
Понял, спасибо

Михаил
10.12.2017
19:58:19
https://www.tiobe.com/tiobe-index/ котлин уже 28-ой

Dibro
10.12.2017
20:03:37
ещё и языком года возможно станет

Boris
10.12.2017
20:11:14
Посмотрел кое-что из котлинконф и @relizarov про устройство корутин отличный доклад! Про спринг скучный, но основная инфа про новинки там есть, это интересно если на спринге пишешь
Про кскрипт можно не смотреть, просто гитхаб ридми почитать

Виталий
11.12.2017
09:37:21
Вопрос в частности тем, кто пользуется аннотация @JvmЧто-тоТам
Какая-то дикая херня происходит
Caused by: java.lang.NoSuchMethodError: No virtual method getHasValue()
Причем метод есть, в байткоде есть
@get:JvmName("hasValue")
val hasValue = nullableValue != null

Anton
11.12.2017
09:39:50
аннотация @JvmЧто-тоТам
классное описание

Sasha
11.12.2017
09:41:48
А @JvmЧто-там вроде просто именует метод для джавы, не?

Sergey
11.12.2017
09:43:49

Виталий
11.12.2017
09:44:09
Котлин

Sergey
11.12.2017
09:44:35
То есть просто не компилится?

Виталий
11.12.2017
09:44:46
нет падает в рантайме

Admin
ERROR: S client not available

Виталий
11.12.2017
09:44:57
причем если сделать так
@get:JvmName("hasValue")
val hasValue: Boolean
get() = nullableValue != null

Google

Sergey
11.12.2017
09:45:03
Ты именно getHasValue() или hasValue() где-то юзаешь?

Виталий
11.12.2017
09:45:19
ТО проблем нет, все работает и не падает
Люблю Котлин
companion object {
@JvmStatic
fun of(decisions: Optional<DecisionsPromo>): Summary = if (decisions.hasValue) {
val promo = decisions.value
BankOffers(BigDecimal(promo.payment), promo.minIncome.toInt())
} else {
NoOffers
}
}

Sergey
11.12.2017
09:45:46
Может он заинлайнился...

Виталий
11.12.2017
09:46:00
Вот пример использования, котлин кода из котлина

Sergey
11.12.2017
09:46:18
А как nullableValue выглядит?

Виталий
11.12.2017
09:46:56

Stanislav
11.12.2017
09:58:55
ну чего, ответа нет?) самому интересно

Konstantine
11.12.2017
10:05:54
Ребят, если у меня сейчас в метод передается анонимный экземпляр класса который содержит 3 метода, могу ли я как-то переопределить это в лямбды? Чтобы делать не myMethod(object: Lala{}), а myMethod({},{},{})

Igor
11.12.2017
10:09:35
Только написав ext-function с нужной сигнатурой ?♀️
А лучше написать одна, но передать в нее “флаг” что именно вызывается (если в этом есть смысл)

Konstantine
11.12.2017
10:21:54

Igor
11.12.2017
10:24:12
inline fun Type.myMethod(fa: ()->Unit, fb: ()->Unit, fc: ()->Unit) =
this.myMethod(object: Lala { fun a() = f1() … })

Konstantine
11.12.2017
10:27:27
а, понял, то есть создавать инстанс объекта таким образом.

Sergey
11.12.2017
10:28:24

Саша
11.12.2017
10:31:29
Ребят, такой вопрос, можно сделать только слово "override" другим цветом?
---> override <--- fun onDestroy()

Anton
11.12.2017
10:33:34
толкьо все ключевые слова вроде

Sergey8827
11.12.2017
11:24:09
как написать .flatMap(Observable::from)
на Котлине?

Dibro
11.12.2017
11:25:36
.flatMap { Observable.from(it) }

Sergey8827
11.12.2017
11:26:01
sps

Google

Roman Q
11.12.2017
11:55:25
Ktor - конкурент спрингу в будущем?

Vitalii
11.12.2017
11:56:44

Quantum Harmonizer
11.12.2017
12:03:52

Vitalii
11.12.2017
12:04:05

Mikhail
11.12.2017
12:10:31
Кто-нибудь использует https://github.com/JetBrains/Exposed ?