Раздел: Как стать программистом / Секреты программирования /
Result в Паскале
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Слово Result в Паскале в используется для возврата результата из функции.
Как известно, любая функция возвращает какой-то результат. Обычно в Паскале это делается так:
function MyFunc(x : integer) : integer; begin MyFunc := x * x; end;
То есть где-то в теле функции (обычно в конце, после выполнения всего кода функции) мы пишем имя функции, используя его как идентификатор переменной, и присваиваем ей какое-то значение.
Таким образом в нашем примере функция MyFunc вернёт результат - квадрат числа Х. Если в программе мы вызовем нашу функцию, например, так:
WriteLn(MyFunc(10));
то на экран будет выведено число 100.
Впрочем, всё это вы уже должны знать.
А вот эту фишку многие новички не знают:
function MyFunc(x : integer) : integer; begin Result := x * x; end;
Обратите внимание, что здесь вместо имени функции мы пишем слово Result.
И функция будет работать точно также. То есть возвращать результат, как это и положено функции.
Прекрасно. Но остаётся вопрос - зачем это надо?
Вот это то и есть основная тема данной статьи. Здесь я покажу вам две причины, почему и когда лучше использовать именно слово Result, а не имя функции для возврата результата.
Причина первая
Довольно часто в практике программирования приходится создавать похожие функции. При этом обычно полностью копируется исходная функция. А затем немного дорабатывается и переименовывается.
Если вы используете такой формат:
function MyFunc(x : integer) : integer; begin MyFunc := x * x; end;
То вам придётся переименовывать функцию не менее чем в двух местах. Если же вы используете слово Result, то вам надо будет переименовать функцию только в одном месте - в заголовке.
Мелочь?
Да. Но, как говорится, дьявол кроется в мелочах. И профессионал отличается от любителя именно отношением к мелочам.
Кроме того, при копировании функции, как правило, мы переименовываем её в заголовке, но часто забываем сделать это там, где функция возвращает результат.
Компилятор, конечно, в этом случае выдаёт ошибку. Но перед этим вы тратите время на компиляцию. И время течёт буквально сквозь пальцы...
Например, в то время, как я пишу эту статью, я занимаюсь разработкой довольно сложной программы, на что у меня уже ушло 250 часов. И ещё уйдёт примерно столько же.
А теперь представьте, что с помощью разных фишек вам удастся сэкономить хотя бы одну минуту из часа и помножьте это на общее количество часов. Цифра будет немаленькой. А ведь это ваше время!
Причина вторая
Вторая причина перекликается с первой. Связана она тоже с возможной необходимостью переименования функции (это может потребоваться по разным причинам).
Представьте, что у вас есть такая функция:
function MyFunc2(x : integer) : integer; begin case x of 1 : MyFunc2 := x * 100; 2 : MyFunc2 := x * 200; 3 : MyFunc2 := x * 300; end; end;
И представьте, что вы решили её переименовать.
В этом случае вам придётся переименовать все идентификаторы в селекторах конструкции case.
В нашем примере их три. Но ведь может быть и 100 и более.
А если бы вы использовали слово Result, то вам опять же надо было бы переименовать только заголовок.
Конечно, в редакторе исходного кода есть такие вещи как поиск и замена, но ведь и их использование тоже отнимает время.
В общем, надеюсь, я убедил вас в полезности использования слова Result в Паскале. Применяйте эту замечательную возможность и, поверьте, это избавит вас от множества неприятностей и позволит сэкономить время на разработку программ.
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Первые шаги в программирование
Очень небольшая книга, которую можно прочитать буквально за 15 минут. Но эти 15 минут дадут вам представление о том, что такое программирование. И вы даже напишите свою первую программу. Для тех, кто интересуется программированием, но ещё не знает, что это такое, и не пробовал создавать программы (или пробовал, но не получилось). Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |