Литерал (информатика)
Литерал (англ. literal) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение[1]. Литералами также называют представление значения некоторого типа данных[1].
Описание
Литералы представляют собой константы, включаемые непосредственно в текст программы. В отличие от прочих элементов языка (констант, переменных)[1], литералы не могут быть изменены в тексте программы.
В следующем примере , 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;
Регулярные выражения. В некоторых языках программирования регулярные выражения представляют собой литерал особого типа, включающий две части: шаблон для поиска и замену[2]. Например:
/javascript/gi
В некоторых объектно ориентированных языках программирования (например, ECMAScript третьей версии) допускается использовать выражения, которые служат массивами-литералами и объектами-литералами[2]. Например:
[1, 2, 3, 4, 5] // Инициализатор массива {x:1, y:2} // Инициализатор объекта
Иногда анонимные функции относят к литералам-функциям, а анонимные объекты к литералам-объектам.
Примечания
Ссылки
- Literals (англ.)