Литерал (англ. 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} // Инициализатор объекта
Иногда анонимные функции относят к литералам-функциям, а анонимные объекты к литералам-объектам.
Примечания
править- ↑ Красилов А. А. Информатика. В семи томах. Т.4. Представление данных. М. 1997—2003
- ↑ 1 2 3 Статья literal Архивная копия от 24 сентября 2015 на Wayback Machine в Энциклопедии PC Magazine
- ↑ 1 2 Флэнаган Д. JavaScript. Подробное руководство. — Пер. с англ. — СПб: Символ-Плюс, 2008. — 992 с., ил.
Ссылки
править- Literals (англ.)