Basic Pascal Tutorial/Chapter 1/Identifiers/bg

From Free Pascal wiki
Jump to navigationJump to search

български (bg) Deutsch (de) English (en) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆) (zh_CN)

 ◄   ▲   ► 

Идентификатори

(author: Tao Yue, state: changed)

Идентификаторите са имена, които ви позволяват да се позовавате на съхранени стойности, като променливи и константи. Също така, всяка програма трябва да бъде идентифицирана (схванахте ли?) с идентификатор.

Правила за идентификаторите:

  • Трябва да започва с латинска буква (a..z или A..Z, Pascal не различава големи от малки букви) от или долна черта (_).
  • Може да бъде последвано от още букви (a..z, A..Z), цифри (0..9) или долни черти (_), във всякаква комбинация.
  • Не може да бъде резервирана дума като например begin, for, case, absolute и др.
  • Не може да съдържа специални символи, като:
  ~! @ # $% ^ & * () + `- = {} []:"; '<>?,. / | \ (или интервал) 

Запазени думи

В Pascal някои идентификатори са запазени и не можете да ги използвате като свои собствени такива. Според FPC справочник те са групирани така:

  • Запазени думи от Turbo Pascal
  • Запазени думи от Delphi
  • Запазени думи от Free Pascal

Запазени думи от Turbo Pascal

absolute and array asm begin break case const
constructor continue destructor div do downto else end
file for function goto if implementation in inherited
inline interface label mod nil not object of
on operator or packed procedure program record reintroduce
repeat self set shl shr string then to
type unit until uses var while with xor

Запазени думи от Delphi

Запазените думи от Delphi (II) са същите като тези от Turbo Pascal, плюс следните:

as class except exports finalization finally initialization
is library on property raise threadvar try

Запазени думи от Free Pascal

В допълнение към запазените думи от Turbo Pascal и Delphi, Free Pascal запазва още и следните думи:

dispose exit false new true break continue

Също така, Pascal има няколко предварително дефинирани идентификатори. Можете да ги замените със собствени дефиниции, но тогава няма да може да използвате част от функционалността на Pascal.

abs arctan boolean char cos dispose eof eoln
exp false input integer ln maxint new odd
ord output pack page pred read readln real
reset rewrite round sin sqr sqrt succ text
true trunc write writeln

Pascal не различава малки от големи букви! MyProgram, MYPROGRAM, and mYpRoGrAm са еднакви за него. Но за четливост е добра идея да използвате някакво смислено изписване с главни и малки букви!

Има два възможни метода, които можете да изберете да приложите към вашите идентификатори: CamelCase и подчертаване като интервал. CamelCase, както изглежда, означава, че отделните думи в идентификатора се пишат с главни букви, така че вместо newperson имате newPerson или NewPerson. Използването на долната черта като интервал означава, че разделяте думите в идентификатора с долни черти, така че да имате new_person вместо newperson. Можете да комбинирате двете, така че да имате new_Person или New_Person вместо newperson.

Идентификаторите могат да бъдат с всякаква дължина, но много компилатори на Pascal ще разглеждат само първите 32 знака. Така че,

    ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFAlphaBeta
    ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGammaDelta

може да означават един и същ идентификатор за някои компилатори на Pascal, защото разликите започват от 33-ия знак. Free Pascal различава идентификатори до 127 знака.

Това е изключително щедро. Оригиналният компилатор на Pascal за мейнфрейма CDC 6000 различва само първите 10 знака на идентификатор. Това е така, защото CDC има 60-битова дума и чрез използването на 6-битови символи (всички главни букви плюс цифри и някои препинателни знаци) цял идентификатор може да се побере в една дума. Може да има повече от 10 знака в идентификатор, но се отчитат само първите 10, така че ThisIsObviouslyAVeryLongNamw и ThisIsObviouslyAnEvenLongerName ще се считат за еднакви.

За да направите вашия код компилируем за всички компилатори, използвайте индентификатори с разумна дължина – до 15 знака. Така ще си спестите и писане.

Въпреки че е добра идея да направите идентификаторите лесни за помнене с използването на по-дълги имена, няма нищо лошо в използването и на кратки идентификатори в конкретни случаи. Много често се използват например I, J, и K като контролни променливи в цикъл for.


 ◄   ▲   ►