Constatări de tip record - site-ul "totul despre Pascal"

Câmpurile trebuie să fie definite în aceeași ordine în care au fost declarate când se definește tipul de înregistrare.

# 9632; Dacă intrarea conține câmpuri de tip de fișier. apoi constante de acest tip






înregistrările nu pot fi declarate.
# 9632; Dacă înregistrarea conține o opțiune, atunci pot fi definite numai câmpurile
din această opțiune.
# 9632; Dacă varianta conține un câmp de etichetă, trebuie specificată valoarea sa.

const
Origine. Punctul = (X. 0,0; Y. 0,0);
Linie. Vector = ((X. -3.1, Y. 1.5), (X. 5.8, Y. 3.0));
Într-o zi. Data = (D. 2; M. Dec., Y. 1960);

tip Point este înregistrată
X, Y. Float;
înregistrare finală;

Origine. Punct: = (X | Y => 0,0);
Linie. Vector: = ((Y => 1,5, X => -3,1), (Y => 3,0, altele => 5,8));
Some_Date. Data: = (2, Dec, 1960);

Agregatele (așa cum sunt ele numite în limba Ada) pot fi folosite nu numai atunci când sunt inițializate constantele, ci, în general, în orice expresie. IN ORICE PARTE!







funcția "-" (Stânga, Dreapta, Punctul) este punctul de întoarcere
începe
întoarce (X => Right.X - Left.X, Y => Right.Y - Left.Y);
capăt "-";

Line_Diff. Punctul: = Linia (1) - Linia (0);

Uneori, agregatul poate fi perceput de compilator în două moduri, iar în acest caz este necesar să se precizeze explicit tipul folosind tipul constructului (valoare). De exemplu:

va fi întotdeauna perceput în mod neechivoc. În exemplul de mai sus, tipul nu trebuie specificat, deoarece potrivirea tipului în limba Ada se face nu numai de jos în sus, ci și de sus în jos. Funcția "-" poate returna numai valoarea unei expresii de tip Point, astfel că specificația de tip a fost opțională.

Una dintre consecințele potrivirii de tip bidirecțional este capacitatea de supraîncărcare a funcțiilor nu numai după tipul de argumente. dar și de tipul de rezultat.

Data "(2, Dec, Y => 1960)

Câmpurile din interiorul aparatului pot fi listate în orice ordine. Puteți specifica o valoare pentru mai multe câmpuri numite simultan, listând numele lor în | (semn de țeavă):

Punctul "(X | Y => 0,0)

De asemenea, puteți folosi cuvântul rezervat alții la sfârșitul listei pentru a seta valoarea câmpurilor rămase:

Punctul "(Y => 3,0, alții => 5,8)







Articole similare

Trimiteți-le prietenilor: