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

Вообще можно было бы сделать Nothing & String? какой-нибудь для

сарткаста

31 ответов

92 просмотра

ну будет такой же результат, ибо у Nothing и String? нет общего кроме Any. Тут больше | подходит

Aλex-Sokol Автор вопроса
Aλex-Sokol Автор вопроса
Bohdan Panchenko
ну будет такой же результат, ибо у Nothing и Stri...

fun <T> foo(param: T) where T : FirstInterface, T : SecondInterface { // param: FirstInterface & SecondInterface }

Bohdan Panchenko
ну будет такой же результат, ибо у Nothing и Stri...

Тут больше подходит String, потому что если вы хотите объявить наличие выбрасываемой ошибки - сделайте это в кдоке :)

Aλex-Sokol Автор вопроса
Aλex Sokol
fun <T> foo(param: T) where T : FirstInterface, T ...

можно вызывать или методы FirstInterface, или SecondInterface

Aλex Sokol
не, intersection-типы не так работают

ну в "JS" именyо так позначать union nипы

Aλex Sokol
мб First | Second?

а я как написал ?

Aλex-Sokol Автор вопроса
Bohdan Panchenko
а я как написал ?

хз, я написал через &, а не через | https://t.me/kotlin_lang/263120

Aλex Sokol
fun <T> foo(param: T) where T : FirstInterface, T ...

fun <T> foo(param: T) where T : Number, T : String { // бдышь }

Aλex-Sokol Автор вопроса
Bohdan Panchenko
порпобуй

а, ну два класса нельзя

Aλex-Sokol Автор вопроса
Bohdan Panchenko
fun <T> foo(param: T) where T : Number, T : String...

в любом случае про общий Any не релевантно, ведь у интерфейсов разных точно такой же общий тип только Any

Aλex Sokol
а, ну два класса нельзя

интерфейсы "наследуются" от ANY

Aλex Sokol
в любом случае про общий Any не релевантно, ведь у...

лол так в твоем примере так и будет (должно)

Aλex-Sokol Автор вопроса
Bohdan Panchenko
лол так в твоем примере так и будет (должно)

тэкс, ещё раз, есть функция: interface FirstInterface { fun bar() } interface SecondInterface { fun baz() } fun <T> foo(param: T) where T : FirstInterface, T : SecondInterface { // param: FirstInterface & SecondInterface param.bar() param.baz() } внутри я могу вызывать либо методы одного интерфейса, либо другого. т.е. несмотря на то, что у них общий тип только Any, я могу вызывать методы обоих интерфейсов. Точно также мог бы String? & Any работать

Aλex-Sokol Автор вопроса
Bohdan Panchenko
это в паралельной вселенной ?

что в паралелльной вселенной?

Aλex Sokol
тэкс, ещё раз, есть функция: interface FirstInter...

Не понял. String? & Any — это же полный эквивалент String, не?

Aλex-Sokol Автор вопроса
Andrew Mikhaylov
Не понял. String? & Any — это же полный эквивалент...

я затупил, имел ввиду String & Nothing (как в начале писал)

Aλex-Sokol Автор вопроса
Bohdan Panchenko
это в паралельной вселенной ?

тебя смущает фича intersection types или что?

Aλex Sokol
я затупил, имел ввиду String & Nothing (как в нача...

String & Nothing если что эквивалентно просто Nothing, т.к. Nothing подтип String.

Aλex-Sokol Автор вопроса
Bohdan Panchenko
ну так тут метод один и тот же

какой метод один и тот же? bar и baz?

Aλex Sokol
какой метод один и тот же? bar и baz?

а не увидел. Ну такое в джаве не работает

Aλex-Sokol Автор вопроса
Ilya
String & Nothing если что эквивалентно просто Noth...

нет, не так. иде это позволит видеть метод plus, которого нет у типа Nothing

Aλex-Sokol Автор вопроса
Bohdan Panchenko
а не увидел. Ну такое в джаве не работает

да что за фигня? я же говорю, это из джавы!

Aλex Sokol
screenshot тебя смущает фича intersection types или что?

https://en.wikipedia.org/wiki/Intersection_type я читаю про пересечение, но может у меня анг отвратительный

Aλex-Sokol Автор вопроса
Aλex Sokol
screenshot

хммм, не проверял. Но ладно значит я не прав

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта