Instrukcja wiążąca
Instrukcja wiążąca – instrukcja w danym języku programowania służąca uproszczeniu zapisu odwołań do pól rekordu (struktury) lub pól i metod obiektu.
Stosowanie instrukcji wiążącej
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 wiążącej }
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.
Języki programowania z instrukcją wiążącą
with(obiekt)
{
instrukcje
}
WITH rekord DO instrukcje END
with identyfikator do instrukcja;
With obiekt
instrukcje
End With
Bibliografia
- Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., ISBN 83-85060-53-7, ISSN 0867-6011
- Michał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-0597-1,
- Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-0828-8