@kotlin_lang

Страница 620 из 982
Mikhail
04.04.2018
18:04:20
типа a f(x) b

Владимир
04.04.2018
18:18:49
типа a f(x) b
Вроде нет

Котлин же не чисто функциональный

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

Google
Boris
04.04.2018
18:19:53
типа a f(x) b
А что это должно значить?

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

Mikhail
04.04.2018
18:20:47
А что это должно значить?
ну тип выражение f(x) вернет инфиксную функцию, которая применится к а и b

Владимир
04.04.2018
18:20:53
А что это должно значить?
Рассматриваю f(x) как оператор

Boris
04.04.2018
18:21:50
Рассматриваю f(x) как оператор
Это хорошо, но работать то как оно должно?

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

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

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
Kirill
04.04.2018
18:51:00
Значит никак

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
А насколько это вообще реальный сценарий?
Ну мне показалось прикольным прикрутить к тестовому dsl функцию shouldBePlusOrMinus(0.001) для сравнения даблов или интов

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

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

Google
Artyom
05.04.2018
09:25:59
чето типа addToFirst("0", 10) ?
(1 until n).map { "0" }.joinToString() + other_string ?

Думаю на примере этого можно какой-то экстеншн написать.

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!!

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
Потом уже присмотрел kotlintest-овскую <actual> shouldBe <expected> plusOrMinus 0.001
Так этот вариант значительно лучше. Не так ли?

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

Quantum Harmonizer
05.04.2018
13:47:16
В аннотациях можно использовать массивы байт?
Да. В @IntDef массив лонгов, например.

Примитивы и строки, одномерные массивы примитивов и строк, энамы, аннотации.

Bogdan
05.04.2018
14:09:04
Почему в @Metadata не массив байт, а строка? (Потому что неизменяемая и нет защитного копирования?)
может несуть 2-е значение, то что в имволе, и сами байты, и эта канитель как-то комбинируется? но сомневаюсь что так, строку по идее проще парсить.

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

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

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

Bogdan
05.04.2018
14:11:32
Не понял. И Protobuf из строки не проще парсить.
ну это предположение, у которого вероятность блзится к нулю

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

Quantum Harmonizer
05.04.2018
14:48:52
Не, памяти так потратится больше.
Почему? Роман вот сказал, что массивы хранятся неэффективно.

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

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

Quantum Harmonizer
05.04.2018
14:50:58
Ну так getBytes ведь выделит память под массив и скопирует в него содержимое строки. Где тут экономия?
а значения константного массива байт будут размазаны по пулу констант

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

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
Не зависимо от наличия @Metadata
Вообще не понимаю о чем ты

Quantum Harmonizer
05.04.2018
14:55:45


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

Google
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 я все равно не полюблю, сколько он крови выпил, паразит...

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