
Хекс
21.07.2018
10:39:10
что случилось с list1.merge(list2)? выпилили?
assertEquals(listOf(3, 4, 6, 8, 10, 11), (listOf(1, 2, 3, 4, 5, 6)).merge(listOf(2, 2, 3, 4, 5, 5, 6)){ it1, it2 -> it1 + it2 })

Олег
21.07.2018
11:31:51
Всем привет! Можете подсказать по Gradle? Делаю либу, проект из 2 модулей, либа и сэмпл. Как сделать так, что бы при подключении либы через jitpack не тянулся модуль с сэмплом?

Dmitry
21.07.2018
11:33:01
Два гредл модуля. Либу делаем из одного, а второй эти либу как депенденси использует.

Google

Олег
21.07.2018
11:33:23
так и есть, но тянуться оба

Dmitry
21.07.2018
11:34:10
Гредл таска, которая артифакт шарит, должна быть в одной модуле, а не в корневом гредл файле для проекта

Олег
21.07.2018
11:35:27

dimiii
21.07.2018
13:51:08
/Offtop кто-то участвует в https://icfpcontest2018.github.io ?

Виталий
21.07.2018
13:57:50
Есть класс принимающий параметры.
Возможно ли переинициализирова данный класс из него-же и что бы ссылка на него осталась та-же ?
class Aaa(par:Int) {
fun bbb() {
if (par) > 0 this.class = Aaa(random(10)-5)
}
}

Victor
21.07.2018
14:01:03

Quantum Harmonizer
21.07.2018
14:06:03

Виталий
21.07.2018
14:09:13
похоже на неправильную постановку задачи
В либе есть класс Table ячейки которой заменять нельзя, но при инициализации таблицы я создаю свои ячейки наследуясь от Actor где есть слушатели. Вот думал что бы менять ячейки, в слушателе задать: что при нажатии на ячейку она менялась - ну что то похожее на класс выше который нарисовал.
слушатели там в потоках
короч обойти и изменить то что изменять нельзя
там есть другие варианты )) сам себе голову ломаю вообщем. убежал

Quantum Harmonizer
21.07.2018
14:40:48
Короче, ничего не понятно

Bogdan
21.07.2018
14:47:19

Google

Виталий
21.07.2018
14:47:57

Rikland
21.07.2018
15:42:37
парни тупой вопрос, есть Kotlin/Native, есть некоторый
data class BitmapFileHeader(
val bfType: Short,
val bfSize: Int,
val bfReserved1: Short,
val bfReserved2: Short,
val bfOffBits: Int
)
как эту байду записать в файл? с учетом того что fwrite просит исторически массив байт.
я уже час ищу чем бы превратить Short Int и тд в байты и не нахожу, можно конечно руками, но может это будет неправильно?

OlegKrikun
21.07.2018
15:49:41
серилайзнуть в строку и взять от неё байтаррай? =)

Rikland
21.07.2018
15:50:47
мне бинарные данные нужны.
мне не текстовый файл

Andrew
21.07.2018
15:59:47
мне бинарные данные нужны.
Есть подозрение, что только руками. Разве что в качестве подспорья подтянуть posix.htons и друзей.
Если это где-то из коробки и будет, то наверняка в kotlinx.serialization, но там пока даже с текстовыми форматами всё в активной разработке.

Leonid
21.07.2018
16:19:20
Запишите feature request в сериализацию, чтобы не забыть)

Quantum Harmonizer
21.07.2018
16:19:29
парни тупой вопрос, есть Kotlin/Native, есть некоторый
data class BitmapFileHeader(
val bfType: Short,
val bfSize: Int,
val bfReserved1: Short,
val bfReserved2: Short,
val bfOffBits: Int
)
как эту байду записать в файл? с учетом того что fwrite просит исторически массив байт.
я уже час ищу чем бы превратить Short Int и тд в байты и не нахожу, можно конечно руками, но может это будет неправильно?
ну, это, Protobuf, Thrift, FlatBuffers, Cap'n'Proto. JSON/XML тоже подойдут.

Leonid
21.07.2018
16:20:18

Quantum Harmonizer
21.07.2018
16:20:47

Leonid
21.07.2018
16:20:58
bmp файл на диске

Quantum Harmonizer
21.07.2018
16:21:52
bmp файл на диске
Где почитать об этом? Я знаю BMP только как формат растровых картинок.

Leonid
21.07.2018
16:22:02
Дак это он и есть
У него есть заголовок с цветностью, разрешением и прочим
Его можно тупо зачитать в структуру, там все на байтовых оффсетах
Так картинки на С читают и трансформируют

Quantum Harmonizer
21.07.2018
16:23:14
А компилятор K/N оставляет за собой право переставлять поля? :)
так-то действительно достаточно читать/писать память, когда все поля — примитивы

Rikland
21.07.2018
16:24:00

Leonid
21.07.2018
16:24:17
А вот хороший вопрос, кстати
Кажется он сейчас так не делает, но нигде не обещали, что он не может начать так делать

Google

Leonid
21.07.2018
16:24:54
Но кстати если он их не переставляет, можно просто нагло взять CPoninter на этот класс, дампнуть в char * и надеяться на лучшее

Rikland
21.07.2018
16:26:14
были реализации java в некоторых из которых поля прямом порядке были записаны, а в некоторых нет. сюрприз для тех кто по рефлекшну что-нибудь генерит.

Quantum Harmonizer
21.07.2018
16:26:43
Java по-любому переставляет, там же пэддинги

Rikland
21.07.2018
16:30:28
чета с дебаггером как-то пока у kotlin native плоховато

Хекс
21.07.2018
16:32:01

Rikland
21.07.2018
16:32:12
да

Хекс
21.07.2018
16:32:32
ну блин это не 1.0, и по ходу еще далеко
еще вроде с рефлексией какие-то трабблы, так что не удивительно что дебагер спотыкается

Andrew
21.07.2018
16:33:25

Quantum Harmonizer
21.07.2018
16:33:48

Rikland
21.07.2018
16:34:05
хехе (:

Хекс
21.07.2018
16:34:51
мде

Andrew
21.07.2018
16:35:08
Capnp работает с сями
В README всё ещё вот это:
"Full library is not available on native, since there are no plugin API in compiler yet. You can find separate JSON parser here."

Leonid
21.07.2018
16:35:19
Вообще, lldb или gdb должны уметь в котлиновские сорцы...

Quantum Harmonizer
21.07.2018
16:35:40

Andrew
21.07.2018
16:36:59

Quantum Harmonizer
21.07.2018
16:37:30
А, ясно. Я про сишные решения.

Alexander
21.07.2018
17:02:38

Quantum Harmonizer
21.07.2018
17:03:47

Google

Alexander
21.07.2018
17:04:50
Во-первых, не фиксированный размер. Во-вторых, в байт буффере есть готовые методы для однотипной бинарной сериализации примитивов. В третьих, есть еще каналы и nio, но это уже мечты.
Ну и да, всякие клевые штуки вроде управления порядком байтов, превращения ByteBuffer в IntBuffer и прочего
Я довольно много работаю с бинарной сериализацией - очень удобно.

Andrew
21.07.2018
17:10:24
https://github.com/Kotlin/kotlinx-io/blob/master/kotlinx-io-native/src/main/kotlin/kotlinx/io/core/IoBufferNative.kt
Собственно, касательно ByteBuffer для Native вот что ещё вспомнилось, но там пока только iOS / macOS.

Alexander
21.07.2018
17:13:35
Супер.
Осталось чтобы был единый интерфейс
А. есть
Надо будет потыкать

Admin
ERROR: S client not available

Rikland
21.07.2018
17:16:57

Leonid
21.07.2018
17:22:47

OlegKrikun
21.07.2018
17:36:00

Rikland
21.07.2018
17:36:59
убрать из шрифта ту дичь во что превратились символы (:

OlegKrikun
21.07.2018
17:37:59

Boris
21.07.2018
17:55:11
Сиквенс -> тейквайл

OlegKrikun
21.07.2018
18:08:04

Rikland
21.07.2018
18:18:34

Alexander
21.07.2018
18:19:49
Где-то ошибка границы цикла, смещение на один пиксель

Rikland
21.07.2018
18:20:13
это понятно (:

Andrew
21.07.2018
18:25:01
Баги в приложениях, работающих с графикой — это прекрасно)

Google

Rikland
21.07.2018
18:25:34
у меня сегодня пол дня на Kotlin/Native секс с выводом qr ника

Bogdan
21.07.2018
18:33:32
return generateSequence(position) { it++ }.find {/* if */ } может вот так

Boris
21.07.2018
18:39:07
А мне норм ?

Rikland
21.07.2018
19:17:14

dimiii
21.07.2018
19:17:55
А что было?

Rikland
21.07.2018
19:18:46
А что было?
там есть хитрое выравнивание внутри bmp файла. и у меня оно криво считалось.

Andrew
21.07.2018
19:25:33
Куда ж ещё ходить за QR-кодом, как не на вики :)

Anton
21.07.2018
19:27:48
сегодня смотрел запись с джокера 17 там докладчик сказал это уже немодно(

Rikland
21.07.2018
19:33:03
С сериализацией пришлось как-то так крутить
думал попробовать стартануть один из проектов на native, но судя по отсутствию отладчика, я пока поостерегусь
а так впринципе даже в Clion 2018.2 починили автокомплишн
или в плагине его починили может быть
а так впринципе даже приятно писать (: правда есть некоторое количество непоняток например narrow() signExtend()

Beholder
21.07.2018
21:00:10
создавать временный массив и тут же его выкидывать... нехорошо

Rikland
21.07.2018
21:03:10
можно его конечно снаружи передавать (:
я не спорю что это не очень хорошо.

Beholder
21.07.2018
21:06:38
серия write()

Rikland
21.07.2018
21:15:07
Кстати Kotlin даёт какие-то гарантии на endian ?