Re: Передача аргументов в функцию - позиционные vs именованн
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 19.03.25 10:00
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Вот стандартная практика — как бы по порядку. Т.е. через запятую последовательно.


S>А ведь есть более умные решения: именованные аргументы функции. Если порядок аргументов изменился, то не нужно по всему коду выискивать и исправлять.


S>Какой вариант вам удобнее?


Так, как сделано в Swift. Во всех более-менее сложных случаях есть возможность задать имена аргументам, как принудительно, так и опционально, по желанию составителя декларации функции, и порядок записывания именованных уже не важен. Обрати внимание, что можно задавать другое имя переменной для аргумента уже внутри функции, если внешне видимое неудобно.

Если я сподвигнусь на создание своего языка, такие возможности там будут обязательно присутствовать, вместе с полиморфизмом по таким именам (например, jump(meters: ) и jump(feet: ) могут быть разными функциями).
Тут самое сложное — как задавать уникальные сигнатуры на уровне линкера. Добавлять хэш от описания как-то не хочется.
The God is real, unless declared integer.
Отредактировано 19.03.2025 15:47 netch80 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.