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

Как можно сделать, чтоюы аргумент функции либо обязательно присутствовал, либо

обязательно отсутствовал, в зависимости от условия extends?

8 ответов

21 просмотр

Это как? Покажи примерно, что хочешь видеть/получить

Например? Какой юз кейс?

Dilame-Bowzee Автор вопроса

Вот примерно так хочу

Dilame-Bowzee Автор вопроса

Класс может быть командой с методом execute(), и на вход он может либо принимать либо не принимать объект input. Есть метод, который исполняет эту команду. И в зависимости от наличия input у команды этот метод либо принимает, либо отклоняет второй аргумент

Ну тут только перегрузка, чтобы 1 и тот же метод был 2 вариантов. 1й - с 1м арг. 2й - с 2мя и исходя из этого уже работать

Dilame-Bowzee Автор вопроса

А как это реализовать? Я пробовал, но базовая сигнатура всё-равно разрешает не передавать аргумент в любом случае

Dilame-Bowzee Автор вопроса

Вот

Как-то так: https://kevinkreuzer.medium.com/typescript-method-overloading-c256dd63245a Но как там и сказано, это не работает в тс так, как привыкли видеть в с# или джава. Всему виной - транспайлинг в джс, который не умеет отказывать в неверном количестве аргументов, а просто выдаст андефайнд, если даже ничего не передал. Тут только ручные проверки через иф-элсы и кидание эксепшна, если что-то не так передали

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта