Статья Автор: Деникина Н.В., Деникин А.В.

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

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

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

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


 


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

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

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