169 похожих чатов

Что за expect/actual? Дайте ссылку

10 ответов

16 просмотров

https://kotlinlang.org/docs/reference/mpp-connect-to-apis.html Это в общем случае про мультиплатформенные возможности котлина.

-=LevT=-- Автор вопроса
Andrew Mikhaylov
https://kotlinlang.org/docs/reference/mpp-connect-...

Ааа.. я ещё не выбрался за JVM

-=LevT=-
Ааа.. я ещё не выбрался за JVM

В двух словах — есть несколько диалектов котлина (Kotlin/JVM, Kotlin/JS, Kotlin/Native), различающихся в небольших деталях, и есть отдельный т.н. common диалект, коду на котором нельзя обращаться ни к чему, кроме другого common-кода (щас там сложнее всё, но не принципиально для понимания). При сборке кода под, к примеру, JVM можно взять модули на Kotlin/JVM и на common, они все вместе будут собираться. Вот механизм expect/actual позволяет те вещи, которые не реализуемы в common (к примеру, вывод в консоль везде разный) задекларировать как expect, в платформенном коде написать совместимые actual-декларации, и оно соединится вместе при сборке.

Andrew Mikhaylov
В двух словах — есть несколько диалектов котлина (...

Ну и интересное место в данном контексте, в том что можно подсунуть готовый тип actual typealias AtomicRef<V> = java.util.concurrent.atomic.AtomicReference<V>

Ruslan Ibragimov
Ну и интересное место в данном контексте, в том чт...

Ну да, при этом у типа, который тайпалиасом в actual задекларирован, могут быть и другие свойства/методы. С сильной натяжкой, наверное, это можно назвать row polymorphism, но возможность применения этой штуки всё же ограничена.

Ruslan Ibragimov
Тайпклассы на минималках (ха-ха)

в общем, я читал недавно всякие иссью и там вроде елизаров писал "We are almost ready to add extension block, but first we need to /*сосредоточиться на более приземленных вещах*/ and implement multireceivers" во факту этот extension блок позволит делать тайпклассы, isn't it ?

Aλex Sokol
в общем, я читал недавно всякие иссью и там вроде ...

interface Summable<T> { operator fun T.sum(other: T): T } extension Int : Summable<Int>

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта