@kotlin_lang

Страница 527 из 982
Grushin
02.02.2018
21:43:33
ниче, скоро ссд будет)

Bogdan
02.02.2018
21:45:12
ниче, скоро ссд будет)
а чем он поможет?

тут озу нада

вроде как андроид студии минимум 4 озу, а рекомендуется 6-8

Google
Quantum Harmonizer
02.02.2018
21:47:28
@pofftop

Quarx2k ?
02.02.2018
21:48:35
@pofftop
На англ был круче ник

Quantum Harmonizer
02.02.2018
21:49:05
На англ был круче ник
этот правдивее)

Quarx2k ?
02.02.2018
21:49:35
И ссд и озу

Bogdan
02.02.2018
21:49:56
+

в аиде глянь

Dmitry
02.02.2018
21:51:24
Еще проц серии hq очень желательно

Quantum Harmonizer
02.02.2018
21:52:03
давайте заканчивать

Boris
03.02.2018
06:12:28
я тут опять вернулся к проблеме получения дефередов по мере их появления и получилось такое вот решение, вроде норм работает, если кому надо: https://gist.github.com/fogone/a0ffa2432fb8e87f1ea007add3d402aa

оно работает с коллекцией, потому что в моем случае нужна именно коллекция, для канала можно адаптировать

Igor
03.02.2018
08:03:33
Хм, а не подскажете – у ktor поддержка websocket есть нормальная? Никак не могу найти, что-то они порезали, судя по ощущениям, доки...

Quantum Harmonizer
03.02.2018
08:06:11
С доками пока всё не очень, да. Думаю, напишут, как заморозят API.

Google
Igor
03.02.2018
08:11:44
https://github.com/ktorio/ktor/blob/master/ktor-samples/ktor-samples-websocket/src/io/ktor/samples/chat/ChatServer.kt#L27
Угу, на maven нашел, они гады такие сменили группу с org.jetbrains на io.ktor

Vadim
03.02.2018
16:46:24
У меня есть: data class Person(val name : String, val surname: String?) Можно ли при инициализации не передавать в конструкторе параметры, которые optional? как нибудь типо: val petya = Person(name=Petja) вместo val petya = Person(Petja, "") или val petya = Person(Petja, null)

Vadim
03.02.2018
16:47:53
не в фамилии суть, это просто пример

грубо говоря у меня есть реквест data class Request(val message: String, val description : String?, val pin : String?)

Vadim
03.02.2018
16:50:46
спасибо

Boris
03.02.2018
18:21:47
обновил гист, теперь там есть функции для параллельной работы с каналом. Т.е. можно сказать .mapAsync чтобы запустить обработку параллельно и еще несколько полезных функций, которые можно комбинировать https://gist.github.com/fogone/a0ffa2432fb8e87f1ea007add3d402aa

Igor
04.02.2018
11:28:17
Напомните пожалуйста, в котлине ведь нельзя сделать тип, который может быть одним из нескольких типов, типа: typealias MyType = Type1 | Type2 | Type3 ?

Или стоит сделать что-то формата typealias MyType = Triple<Type1?, Type2, Type3> и везде забивать на null-value?

Igor
04.02.2018
11:31:24
Так sealed классы же или enum (для эмуляции union типов)

Igor
04.02.2018
11:32:17
Да вот в моей задаче не выйдет, грубо говоря, Type1 Type2 Type3 приходят из фреймворка, так что не пройдет :(

Igor
04.02.2018
11:33:47
sealed class TypeWrapper { class A(val x: Type1): TypeWrapper() class B(val x: Type2): TypeWrapper() class C(val x: Type3): TypeWrapper() }

Igor
04.02.2018
11:34:59
sealed class TypeWrapper { class A(val x: Type1): TypeWrapper() class B(val x: Type2): TypeWrapper() class C(val x: Type3): TypeWrapper() }
Спасибо :) Почему-то не додумался до этого. Очень выручил!

Напиши что ты хочешь в итоге получит
Вот то, что появилось выше :)

Alexey
04.02.2018
12:04:06
ой, оказался не тот. забей. это CoproductK

Google
Igor
04.02.2018
16:18:04
А если я sealed class пихну в Parcelable я смогу ведь после десериализации when по типам использовать?

Igor
04.02.2018
16:19:44
Ну там же просто иерархия классов без особой магии (кроме того что компилятор может проверить тотальность when, если знает сам тип)

Igor
04.02.2018
16:21:35
Окей, так, на всякий случай уточнить решил, чтобы не писать много кода просто так

Виталий
04.02.2018
18:38:59
ребят, объясните: if (arrayOfTiles[currentTileColumn] != null) return arrayOfTiles[currentTileColumn]!!.row зачем он требует !!, если я явно проверяю на null, то есть других вариантов то и не будет, если будет null то он не перейдет к этому return ?!?

Виталий
04.02.2018
18:41:42
написано, но ведь на return мы никогда не перейдем если в условии null

зачем все так усложнять

компилятор ?

Quantum Harmonizer
04.02.2018
18:42:21
написано, но ведь на return мы никогда не перейдем если в условии null
из другого потока массив может быть изменён

Виталий
04.02.2018
18:42:34
о

точно

Quantum Harmonizer
04.02.2018
18:42:38
так что лучше вытащить array[idx] в локальную переменную

Виталий
04.02.2018
18:42:44
все, понял

спасибо

Gleb
04.02.2018
20:44:26
в котлине для этого есть очень удобная функция let arrayOfTiles[currentTileColumn]?.let { it.row }

Andrew
04.02.2018
20:57:02
хотел это отметить, но не сработает, если там rerturn только на одной ветке условия, как в сниппете.

Kevin
04.02.2018
21:03:54
Hey guys .. how can i hide a dulpicated items inside an arraylist val arrayList = arrayListOf("1,1,2,2,3,4,5,5,5,5") println("Arraylist remove duplication $arrayList") I want to my arraylist to be like println(1,2,3,4,5)

Vitalii
04.02.2018
21:07:17
nothing
Try to use loops for example.

Google
Kevin
04.02.2018
21:09:20

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