Mar 26, 2023 22:16
Придумал удачную метафору для объяснения того, как работает вызов функций. А то люди теряются: как так, тут одни имена, там другие имена, а иногда даже и не имена; что здесь происходит и как вообще это работает?! Формальные параметры, фактические параметры, о чем этот ужасный канцелярит?
Функция это пьеса. Параметры это список действующих лиц, их как раз обычно в начале пьесы перечисляют. Тело функции это сюжет, там герои как-то взаимодействуют, ну и чем-то она заканчивается.
Но пьеса это просто текст. А чтобы сыграть спектакль, нам нужно вместо каждого персонажа поставить конкретного актера. И пусть в жизни актера зовут Петр Петрович, пока он на сцене, он ОфелияГамлет, принц датский, и обращаются все к нему именно так. Одну и ту же пьесу мы можем ставить разными составами, сценарий в целом при этом не меняется, но чем-то исполнения могут отличаться (одни Гамлет толстый, другой лысый, третий картавит, но зато красавец!). Один актер может играть в нескольких ролях, такое тоже бывает, это нормально.
Вызов функции с параметрами это исполнение спектакля.