Basic Pascal Tutorial/Chapter 4/Functions/bg

From Lazarus wiki
(Redirected from Functions/bg)
Jump to navigationJump to search

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆) (zh_CN)

 ◄   ▲   ► 

4C - Functions (author: Tao Yue, state: unchanged)

Функциите работят по същия начин като процедурите, но те винаги „връщат единична стойност“ на основната програма чрез тяхното „собствено име“:

function Name (списък_параметри) : върнат_тип;

Функциите се извикват в основната програма, като се използват в изрази:

a := Name (5) + 3;

Ако вашата функция няма аргумент, внимавайте да не използвате името на функцията от дясната страна на който и да е израз във функцията. Пример:

function Name : integer;
begin
  Name := 2;
  Name := Name + 1
end.

Това няма да завърши добре! Вместо да се върне стойността 3, както може да се очаква, това ще създаде безкраен рекурсивен цикъл в определени езикови режими (например {$MODE DELPHI} или {$MODE TP}; други режими изискват скоби при извикването на функция, дори ако скобите са празни поради липса на параметри за конкретната функция). Името ще извика Name, което ще извика Name, което ще извика Name и т.н.

Връщаната стойност се задава чрез присвояване на стойност на идентификатора на функцията.

Name := 5;

Обикновено е лоша практика при програмиране да се използват VAR параметри във функциите - функциите трябва да връщат само по една стойност. Със сигурност не искате функцията sin да промени вашия параметър в радиани pi на 0 радиана, само защото те са еквивалентни - просто искате отговора 0.

 ◄   ▲   ►