Литерал (информатика)

Литерал (англ. literal), или безымянная константа[1] (англ. nameless constant) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение[2]. Литералами также называют представление значения некоторого типа данных[2].

Описание

править

Литералы представляют собой константы, включаемые непосредственно в текст программы.

Литералы могут быть изменены в тексте программы лишь во время редактирования. В отличие от переменных[2], литералы не могут изменяться во время выполнения программы. Настоящие именованные константы тоже не изменяются во время исполнения, но в некоторых языках (например, Delphi) словом const могут быть обозначены и инициализированные до начала выполнения статические переменные, которые затем изменяются в ходе выполнения программы.

В следующем примере , 1 и Кот являются литералами, а number и pet это переменные:

int number = 1;
string pet = "Кот";

Типы литералов

править

Почти все языки программирования допускают использование тех или иных литералов для примитивных типов. Однако, синтаксис литералов может значительно отличаться.

Обычно выделяют следующие элементарные типы литералов:

Числовые литералы — литералы для записи чисел. Иногда числовые литералы подразделяются на целые литералы, дробные литералы и т. п. с различной точностью представления и в различных системах счисления (например, битовые литералы в PL/I). В программах числовые литералы обычно записываются в привычном для числа виде. В следующем примере 100 и 3.1415 — числовые литералы:

int a = 100;
float b = 3.1415;

Строковые литералы обычно представляют собой строку символов, заключённую в кавычки или скобки. В некоторых языках программирования выделяют символьные литералы, включающие один символ. В разных языках программирования допускаются различные типы кавычек. Например, в следующем примере на языке JavaScript один, два и три — строковые литералы, записанные с использованием различных допустимых типов кавычек:

var one = "один";
var two = 'два';
var three = `три`;

Логические литералы, Логические значения — два литерала: true и false или их аналоги — T, t, Y, y, F, f, N, n, NIL и т. п.. Например:

bool t = true;
bool f = false;

Литерал ссылочного типа, адрес в памяти — обычно, числовые литералы, указывающие на ячейку в памяти.

Null-литерал, Пустое значение — особый тип литерала, в зависимости от языка программирования, относящийся к ссылочному либо объектному типу. Единственное допустимое значение этого типа литералов null, или аналог, например NIL, None, Nothing — ссылка никуда не ведёт либо объект отсутствует.

T o = null;

Регулярные выражения. В некоторых языках программирования регулярные выражения представляют собой литерал особого типа, включающий две части: шаблон для поиска и замену[3]. Например:

/JavaScript/gi

В некоторых объектно-ориентированных языках программирования (например, ECMAScript третьей версии) допускается использовать выражения, которые служат массивами-литералами и объектами-литералами[3]. Например:

[1, 2, 3, 4, 5] // Инициализатор массива
{x: 1, y: 2} // Инициализатор объекта

Иногда анонимные функции относят к литералам-функциям, а анонимные объекты к литералам-объектам.


Примечания

править
  1. Красилов А. А. Информатика. В семи томах. Т.4. Представление данных. М. 1997—2003
  2. 1 2 3 Статья literal Архивная копия от 24 сентября 2015 на Wayback Machine в Энциклопедии PC Magazine
  3. 1 2 Флэнаган Д. JavaScript. Подробное руководство. — Пер. с англ. — СПб: Символ-Плюс, 2008. — 992 с., ил.

Ссылки

править