Instrukcja wiążąca

Standardowo odwołania do pól rekordów lub pól i metod obiektu realizowane są za pomocą nazw kwalifikowanych tworzonych przy pomocy odpowiednich desygnatorów pól.

Przykład w języku Pascal:

 type
   tadres = record
     ulica : string[50];
     miasto : string[30]
   end;
   tosoba = record
     imie : string[20];
     nazwisko : string[30];
     adres : tadres
   end;
 var osoba : tosoba;

Odwołania do pól zmiennej osoba mają postać:

 osoba.imie:='Jan';
 osoba.nazwisko:='Kowalski';
 osoba.adres.ulica:='ul. Nowa 10/10';
 osoba.adres.miasto:='Wroclaw';

Takie odwołania do pól określonego rekordu w grupie instrukcji zaciemniają czytelność kodu źródłowego i utrudniają jego pisanie. W celu uproszczenia kodu wprowadzono instrukcję wiążącą.

Przykład w języku Pascal:

 { zastosowanie instrukcji wazacej }
 with  osoba.adres do
   begin
     ulica:='ul. Nowa 10/10';
     miasto:='Wroclaw'
   end;

Działanie instrukcji wiążącej polega na powiązaniu niezdefiniowanych identyfikatorów ulica i miasto z rekordem wskazanym w nagłówku instrukcji wiążącej i w efekcie przypisanie polom tego rekordu (niewskazanego jawnie w instrukcji przypisania) odpowiednich wartości. Z powyższego wynika jasno, że choć powyższa konstrukcja nazwana została i zdefiniowana w językach jako "instrukcja", tak naprawdę nie jest instrukcją (nie generuje żadnego dodatkowego kodu wynikowego), lecz jest dyrektywą dla kompilatora, ułatwiającą pisanie kodu źródłowego.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License