Size: a a a

2020 November 04

JI

Jalol Imomaddinov in KotlinLangRu
На данный момент храню в singleton
источник

BP

Bogdan Panchenko in KotlinLangRu
Jalol Imomaddinov
Вообщем есть константы которые будут использованы в нескольких модулях
Ну тут наверное только object. Но честно - мне не нравятся такие константы.
источник

JI

Jalol Imomaddinov in KotlinLangRu
Bogdan Panchenko
Ну тут наверное только object. Но честно - мне не нравятся такие константы.
А что посоветуете вместо констант?
источник

BP

Bogdan Panchenko in KotlinLangRu
Jalol Imomaddinov
А что посоветуете вместо констант?
Очень абстрактный вопрос. Мне не нравятся константы с большой областью видимости, это может привести к ошибкам.

Без конкретики зачем вам эти константы совета дать нельзя
источник

JI

Jalol Imomaddinov in KotlinLangRu
Bogdan Panchenko
Очень абстрактный вопрос. Мне не нравятся константы с большой областью видимости, это может привести к ошибкам.

Без конкретики зачем вам эти константы совета дать нельзя
Хмм, интересно, про это я не подумал
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
нет, вообще в jvm нет лямбд, это замыкания, они могут захватывать состояние
Добрый день. Возвращаясь к теме лямбды/замыканий и что из них получается на выходе.
Читаю интернеты и вижу, что лямбы — это те же самые замыкания

https://habr.com/ru/company/piter/blog/281026/
Я поинтересовался, почему же эти структуры назвали «лямбдами», а не просто «замыканиями» — ведь по всем признакам это чистые замыкания. Мне ответили, что «замыкание» — неудачный и перегруженный термин. Когда кто-то говорит «настоящее замыкание», то зачастую имеет в виду такие «замыкания», которые попались ему в первом освоенном языке программирования, где имелись сущности, именуемые «замыканиями».
источник

ИИ

Иван Иванов... in KotlinLangRu
как я понял, различие, на которое вы хотели мне указать — это то, что такие лямбды в Java создаются во время исполнения
источник

ИИ

Иван Иванов... in KotlinLangRu
Но тем не менее в Kotlin на выходе генерируются .class файлы на все неинлайн лямбды.
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Добрый день. Возвращаясь к теме лямбды/замыканий и что из них получается на выходе.
Читаю интернеты и вижу, что лямбы — это те же самые замыкания

https://habr.com/ru/company/piter/blog/281026/
Я поинтересовался, почему же эти структуры назвали «лямбдами», а не просто «замыканиями» — ведь по всем признакам это чистые замыкания. Мне ответили, что «замыкание» — неудачный и перегруженный термин. Когда кто-то говорит «настоящее замыкание», то зачастую имеет в виду такие «замыкания», которые попались ему в первом освоенном языке программирования, где имелись сущности, именуемые «замыканиями».
Ну да, просто решили назвать попроще
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
как я понял, различие, на которое вы хотели мне указать — это то, что такие лямбды в Java создаются во время исполнения
Ну как вам сказать. invocedunamic не несёт никакой магии, байткод этих лямбд где-то хранится, скорей он не такой жирный как котлиновский, но все же он есть, и создание класса есть, просто итоговый бинарник занимает немного меньше (это нужно проверить)
источник

BP

Bogdan Panchenko in KotlinLangRu
Выигрыш в вызове не сильно разнятся
источник

ИИ

Иван Иванов... in KotlinLangRu
проверять мы это конечно же не будем.
просто таким неспокойным, как я, надо смириться с тем, что котлин генерит классы на каждую лямбду и жить с этим. никакой драмы.
источник

MP

Mag Pie in KotlinLangRu
Сишарп делает ровно так же
источник

ИИ

Иван Иванов... in KotlinLangRu
Кстати, тут это самое.
Youtrack написан на Kotlin/JS?
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
проверять мы это конечно же не будем.
просто таким неспокойным, как я, надо смириться с тем, что котлин генерит классы на каждую лямбду и жить с этим. никакой драмы.
Джава это делает. Вы не правильно понимаете
источник

BP

Bogdan Panchenko in KotlinLangRu
Просто вы не видите этот класс. Но он есть
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Просто вы не видите этот класс. Но он есть
я не вижу этот класс — окей.
но он места занимает меньше — об этом мои чаяния
источник

ИИ

Иван Иванов... in KotlinLangRu
Господа. Ещё такой вопрос.
Если я выбираю параметры компилятора -version -Xjvm-default=all для своей библиотеки
То пользователи этой библиотеки также должны с такими параметрами вызывать?
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
я не вижу этот класс — окей.
но он места занимает меньше — об этом мои чаяния
Ты уже замерил ? Ну и я бы добавил 3ий вариант: аннонимные объект
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Ты уже замерил ? Ну и я бы добавил 3ий вариант: аннонимные объект
нет. не стоит оно свеч. мой психоз только из-за компилируемого размера. по скорости думаю эквивалентно.
источник