Найти в Дзене

Что значит «возвращает» в программировании? Для базового понимания достаточно знаний первого класса, но чтобы не показывать на совсем примитивном примере, возьмём пример из начальной школы


Вот у вас такой код:
a = 0
x = cos(a) + 2 * 3

Как компьютер будет с ним работать? Давайте возьмём упрощённую модель — будет работать так же, как мы в школе. Сначала он посчитает косинус, но он не сможет это сделать, пока не заменит a на 0. После этого он подсчитает косинус нуля и получит 1. Он подставит вместо cos(0) в итоге 1, получится

x = 1 + 2 * 3
Теперь умножение. Умножаем 2 на 3, получаем 6. Заменяем 2*3 на 6:

x = 1 + 6

Ну и осталось вместо 1 + 6 подставить 7, получится
x = 7
Всё, на этом работу со строкой кода заканчиваем.

И вот когда компьютер посчитал результат какой-то операции, функции вроде косинуса или оператора вроде +, то он этот результат подставляет вместо этой операции и данных операции. Это и называется «возвращает» — операция «+» закончилась, в результате получилось 7, теперь мы можем это число подставить вместо операции и её данных, 7 вместо 1 + 6.

Правильнее, кстати, говорить передаёт — 1 + 6 передаёт обратно 7. Но все уже настолько часто говорят «возвращает», что оно укоренилось. Но это всё уже другая история.

P.S. Это всё, конечно, модель из области «корень из минус 1 не существует», очень упрощённая и на самом деле всё гораздо глубже и сложнее — но именно новичкам очень полезно эту модель освоить. Да и многие профессионалы не знают про абстрактное синтаксическое дерево, оно нужно прежде всего тем, кто компиляторы да интерпретаторы создаёт.
Что значит «возвращает» в программировании?
1 минута