@kotlin_lang

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

Konstantine
08.12.2017
11:35:47
A.values().map(A::s)
Это эрейлист, но спасибо, все равно помогло)

Quantum Harmonizer
08.12.2017
11:36:24
Это эрейлист, но спасибо, все равно помогло)
В stdlib есть действия над массивами, но, насколько я знаю, нет действий, которые возвращают массив.

Google
Quantum Harmonizer
08.12.2017
11:38:13
Это эрейлист, но спасибо, все равно помогло)
Самый эффективный вариант. val vals = A.values() val strs = Array(vals.size) { vals[it].s }

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
Господа, а подскажите, как вы обходите проблему с ArgumentMatchers.any() в Mockito?
https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791, потому как у котлин-мокито бага есть

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

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
не помню была ли ссылка, но вот на всякий случай https://kotlinconf.com/talks/
Так ты про Kotlin-Conf? Конечно про корутины (оба доклада от Романа) и “Deep Dive into Kotlin/Native” Бреслава. Еще “My Life as a Tech Transfer Monad” от Эрика Мейреа - такой инспирирующий ?

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 на топ левеле? Находили какой-нибудь ворк-эраунт, что если в файле есть хоть один “неподдерживаемый тип функции”, то нельзя получить инфу не по одной другой?

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) { … // синхронный код }

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Что-там вроде просто именует метод для джавы, не?

Виталий
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 с нужной сигнатурой ?‍♀️ А лучше написать одна, но передать в нее “флаг” что именно вызывается (если в этом есть смысл)

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
ну чего, ответа нет?) самому интересно
Пока такие результаты: на 1.2 всё спокойно, на 1.1.51 падает =)

Саша
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
Ktor - конкурент спрингу в будущем?
Спринг немного про другое. Если кому конкурент, то скорее undertow какому-нибудь или netty.

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

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