Literał tablicowy

Literał tablicowy to literał reprezentujący w kodzie źródłowym konkretną wartość, będącą tablicą elementów.

Wartości tablicowe

Typ tablicowy to typ strukturalny będący agregatem danych. Zwykle w większości języków programowania, tablica może zawierać elementy jednego typu zwanego typem bazowym. Literały tablicowe reprezentujące więc konkretne, wpisane wprost wartości, stanowią więc pewną listę literałów typu bazowego. Lista taka jest najczęściej ujęta w odpowiednie nawiasy, a poszczególne elementy tej listy – literały typu bazowego – oddzielone są odpowiednim separatorem.

Przykład w Borland Pascal 7.0:

type ix_cplx = (vreal, vimag);
     complex = array[ix_cplx] of real;
const wartosc : compex = (1.0, 1.0); // literał tablicowy umieszczony w nawiasach okrągłych

Jak widać w powyższym przykładzie, w tym przypadku, zapis literału tablicowego ma taką samą formę jak zapis definicji typu wyliczeniowego, a inicjuje tzw. literał zmienny.

Literały tablicowe w poszczególnych językach programowania, w zależności od składny danego języka, mogą być stosowane:

  • tylko w konkretnych kontekstach (konstrukcjach kodu źródłowego), np. inicjalizacji zmiennych, lub
  • tak jak inne literały.

W przypadku tablic wielowymiarowych lista taka składa się z podlist zawartych w liście nadrzędnej, reprezentujących kolejne wymiary tablicy.

W pewnych językach mogą istnieć specjalne tablice, inaczej traktowane od innych, typowych tablic. Również zapis literałów dla takich tablic, może mieć specjalną formę. Przykładem jest język Pascal, w którego standardzie nie było typu łańcuchowego, lecz łańcuchy znaków reprezentowane były w tablicach znaków o indeksach rozpoczynających się od 0, np. array[0..7] of char;. Zapis literałów dla takich tablic został uproszczony do literału łańcuchowego ujętego w apostrofy.

Literały tablicowe w językach programowania

język programowaniaograniczniki listyseparator listyskładaniamożliwość stosowaniaprzykład
Ada, Borland Pascal, PL/I( )przecinek ,(lista wartości)inicjalizacja zmiennych((1, 2), (3, 4), (5, 6))
Pascal' {apostrof}brak'lista znaków'literał łańcuchowy'Tablica znaków'
Clipper 5.0, Turbo C{ }przecinek ,{lista wartości}inicjalizacja zmiennych,

prawa strona przypisania

{{1, 2}, {3, 4}, {5, 6}}
D[ ]przecinek ,[lista wartości]inicjalizacja zmiennych,

prawa strona przypisania

[1, 2, 3]
JavaScript[ ]przecinek ,{lista wartości}tworzenie obiektu tablicowego

(elementy mogą być różnego typu)

["tekst", 2000]

Bibliografia

Zobacz też