Instrukcja wiążąca

Instrukcja wiążącainstrukcja 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ążącejEdytuj

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ąEdytuj

JavaScriptEdytuj

 with(obiekt)
   {
     instrukcje
   }

Modula 2Edytuj

 WITH rekord DO
   instrukcje
 END

PascalEdytuj

 with identyfikator do instrukcja;

Visual BasicEdytuj

 With obiekt
    instrukcje
 End With

BibliografiaEdytuj

  1. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., ​ISBN 83-85060-53-7​, ISSN 0867-6011
  2. 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​,
  3. Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, ​ISBN 83-204-0828-8