
Mikhail
04.04.2018
18:04:20
типа a f(x) b

Владимир
04.04.2018
18:18:49
Котлин же не чисто функциональный

Mikhail
04.04.2018
18:19:23
плак плак

Google

Boris
04.04.2018
18:19:53

Владимир
04.04.2018
18:20:02
плак плак
Кажется, что это не та фича, которая нужна прагматичному языку

Mikhail
04.04.2018
18:20:47

Владимир
04.04.2018
18:20:53

Boris
04.04.2018
18:21:50
Типа 2 plus 3 и плюс это функция с двумя параметрами?

Mikhail
04.04.2018
18:23:46
ну кагбе да

Владимир
04.04.2018
18:23:48

Boris
04.04.2018
18:24:28
С одним
Ну, инфиксные функции так работают

Владимир
04.04.2018
18:25:11
Сначала выполняется f(x) и возвращает инфиксную функцию от 2 аргументов, потом жтм функция применяется к a и b

Boris
04.04.2018
18:25:43
А, не, такого нет

Rikland
04.04.2018
18:26:05

Kirill
04.04.2018
18:30:15
типа a f(x) b
Не уверен, но возможно можно как-то через infix invoke замутить

Google

Mikhail
04.04.2018
18:47:01

Kirill
04.04.2018
18:51:00
Значит никак

Boris
04.04.2018
19:13:34

Quantum Harmonizer
04.04.2018
20:14:35
Норм, конечно. А вот инфиксных коллаблов я ещё не видел :)

Gregory
05.04.2018
03:54:24

Boris
05.04.2018
04:33:22

Gregory
05.04.2018
04:36:04

Quantum Harmonizer
05.04.2018
06:38:41

kalkancrypt
05.04.2018
06:48:13
прошло всего лишь полтора года, плагин для eclipse обновился. спасибо.
Kotlin language support for Kotlin 1.2.31
надоело видеть эти красные крестики, и прыгать на идею и обратно

Maxim
05.04.2018
06:57:25
Еклипс? о_0

kalkancrypt
05.04.2018
07:09:21
Да, и прекрасно себя чувствую )

Nick Senchurin
05.04.2018
07:18:17
всем доброе, подскажите, есть ли какой то утилитный метод, который позволит мне добавить нужное кол-во нулей в начало строки
чето типа addToFirst("0", 10) ?
в общем нагуглил про padStart )

Valentin
05.04.2018
07:26:26
я свой год работы с эклипсом вспоминаю как ад

Anton
05.04.2018
07:28:12
я работал в нем когда анлдроид студии не было в 2013. вроде нормальная IDE

Mikhail
05.04.2018
07:29:54
Потом уже присмотрел kotlintest-овскую <actual> shouldBe <expected> plusOrMinus 0.001

Kirill
05.04.2018
09:09:25
Привет, а есть где-то описанный процесс создания KEEP и/или обязательных в нём полей?

Google

Artyom
05.04.2018
09:25:59
Думаю на примере этого можно какой-то экстеншн написать.

Nick Senchurin
05.04.2018
09:26:56

Artyom
05.04.2018
09:27:15
Устраивает
Не заметил решения
:)

Vladislav
05.04.2018
09:41:09
Господа, вот у меня есть extension функция isNullOrDeleted, можно как-то задекларировать компилятору, чтобы работали смарткасты, чтобы не приписывать !!:
if (!fd.isNullOrDeleted())
return fd!!

Quantum Harmonizer
05.04.2018
09:43:00

Vladislav
05.04.2018
09:43:02
есть вот какой-то @ContractsDsl но я не пойму как им пользоваться и вообще это публичное API?
глупый вопрос, блин, она сидит в kotlin.internals

Quantum Harmonizer
05.04.2018
09:44:55
Это пока что не публичный API, его использует только stdlib.

Gregory
05.04.2018
11:00:20

Quantum Harmonizer
05.04.2018
13:44:46
Почему в @Metadata не массив байт, а строка? (Потому что неизменяемая и нет защитного копирования?)

Vladimir
05.04.2018
13:46:48

Quantum Harmonizer
05.04.2018
13:47:16
Примитивы и строки, одномерные массивы примитивов и строк, энамы, аннотации.

Bogdan
05.04.2018
14:09:04

Виталий
05.04.2018
14:10:24
Строку проще парсить, чем иметь готовый массив?)

Quantum Harmonizer
05.04.2018
14:10:33

Roman
05.04.2018
14:10:57
Массав байт в анотации будет не эффективно храниться в класс файле.

Google

Roman
05.04.2018
14:11:28
Каждый элемент это ссылка на constant pool

Bogdan
05.04.2018
14:11:32

Quantum Harmonizer
05.04.2018
14:12:02
Хмм, получается, что какое-нибудь "\u1234\u5678".getBytes() может быть эффективнее, чем { 0x12, 0x34, 0x56, 0x78 }?
(Порядок байт мог напутать, поправьте, если что)

Roman
05.04.2018
14:47:49

Quantum Harmonizer
05.04.2018
14:48:52

Roman
05.04.2018
14:49:20
В константном пуле можно хранить только примитивы и строки, массивы нельзя.

Boris
05.04.2018
14:49:42

Roman
05.04.2018
14:50:20
Ну так getBytes ведь выделит память под массив и скопирует в него содержимое строки. Где тут экономия?

Quantum Harmonizer
05.04.2018
14:50:58

Roman
05.04.2018
14:51:30
По части котлина, мне думается там используется еще и тот факт, что такие строки уже есть в константном пуле, т.к. это имена классов и методов. По сути на такую метадату котлин тратит ноль байт. (но это не точно)

Quantum Harmonizer
05.04.2018
14:51:56

Roman
05.04.2018
14:52:35
Я к тому, что такие строки так и так уже есть в константном пуле.

Quantum Harmonizer
05.04.2018
14:52:50

Roman
05.04.2018
14:52:51
Не зависимо от наличия @Metadata
Всмысле разная? Ну да, у разных классов разная)

Quantum Harmonizer
05.04.2018
14:54:24
Ну так какой толк для неё от пула констант?

Boris
05.04.2018
14:54:44

Quantum Harmonizer
05.04.2018
14:55:45

Roman
05.04.2018
14:57:50
Вот открой там пул констант и там будет лежать строка "Bytecode" и "ints" (или полные их версии, не знаю точно)

Google

Quantum Harmonizer
05.04.2018
14:57:58

Roman
05.04.2018
14:58:20
Вооот. А котлин в своей метадате просто на нее ссылается.

Quantum Harmonizer
05.04.2018
14:59:13

Roman
05.04.2018
14:59:18
Если бы они положили эти строки в протобаф, то потратили бы кучу памяти.

Quantum Harmonizer
05.04.2018
14:59:59
Пусть в протобафе только номера констант.
Вопрос — что теперь делать ?

Roman
05.04.2018
15:00:41
А ничего, в яве не положить никак константу из массива байт.
Я слыхал, что в java9 можно будет ток.

Quantum Harmonizer
05.04.2018
15:02:34

Roman
05.04.2018
15:02:52
О как, не знал.
Но dex я все равно не полюблю, сколько он крови выпил, паразит...