Модуль: Возвращаемые значения функций


8. Функции могут возвращать только одно значение.


Функция, возвращающая значение, может возвращать вызывающей стороне только одно значение при каждом вызове.
Обратите внимание, что значение, передаваемое в операторе return, не обязательно должно быть литеральным — оно может быть результатом любого допустимого выражения, включая переменную или даже вызов другой функции, возвращающей значение. В getValueFromUser() приведённом ранее примере мы вернули переменную input, содержащую число, введённое пользователем.
Существуют различные способы обойти ограничение, заключающееся в том, что функции могут возвращать только одно значение, и мы рассмотрим их в будущих уроках.
 

Повторное использование функций

Теперь мы можем проиллюстрировать хороший пример повторного использования функций. Рассмотрим следующую программу:


Хотя эта программа работает, она несколько избыточна. Фактически, она нарушает один из основных принципов хорошего программирования: «Не повторяйся» (часто сокращённо DRY ).

Почему повторяющийся код плох? Если бы мы захотели изменить текст «Enter an integer:» на что-то другое, нам пришлось бы обновить его в двух местах. А что, если бы мы захотели инициализировать 10 переменных вместо 2? Это привело бы к большому количеству избыточного кода (что сделало бы наши программы длиннее и сложнее для понимания) и открыло бы простор для опечаток.

Давайте обновим эту программу, чтобы она использовала нашу getValueFromUser функцию, которую мы разработали выше:


В этой программе мы вызываем функцию getValueFromUser дважды: один раз для инициализации переменной xи один раз для инициализации переменной y. Это избавляет нас от дублирования кода для получения пользовательского ввода и снижает вероятность ошибки. Убедившись, что это getValueFromUserработает, мы можем вызывать функцию столько раз, сколько нужно.

В этом и заключается суть модульного программирования: возможность написать функцию, протестировать ее, убедиться в ее работоспособности, а затем знать, что мы можем использовать ее повторно столько раз, сколько захотим, и она будет продолжать работать (до тех пор, пока мы не изменим функцию — в этом случае нам придется повторно ее протестировать).

Заключение


Возвращаемые значения предоставляют функциям возможность возвращать одно значение вызвавшему функцию объекту.

Функции позволяют минимизировать избыточность в наших программах.

time 1000 ms
memory 256 Mb

Комментарий учителя