Что такое литерал
Перейти к содержимому

Что такое литерал

  • автор:

Литералы

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

Существуют литералы трех типов:

Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля/подполя. Если поле является повторяющимся, то текст будет выведен только один раз, независимо от количества экземпляров поля/подполя. Условные литералы заключаются в двойные кавычки ( » ) , например, » Заглавие : «.

Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля или подполя. Однако, если поле повторяющееся, литерал будет выводиться для каждого экземпляра поля/подполя. Повторяющиеся литералы заключаются в вертикальные черты ( | ), например, | Автор: |.

Он определяет текст, который будет выведен независимо от наличия поля в записи. Безусловные литералы заключаются в одинарные кавычки ( ‘ ), например, ‘ Краткое содержание ‘ или ‘ Заголовок ‘.

Литерал не должен содержать ограничителей литерала.

Например, безусловный литерал не может содержать одинарную кавычку (хотя может содержать двойные кавычки и/или вертикальные черты).

Условные и/или повторяющиеся литералы связываются с полем или подполем своим расположением в формате.

Префикс-литералы

Литералы, предшествующие команде вывода поля/подполя, называемые префикс-литералами , выводятся перед содержимым поля/подполя.

Если за повторяющимся префикс-литералом непосредственно следует знак ‘+’ (например, |xxx|+), то он будет выведен перед каждым, кроме первого, экземпляром поля/подполя.

С полем/подполем может быть связан более чем один литерал.

В этом случае пре фикс — литералы должны подчиняться следующим правилам и порядку:

1. Один или более условных префикс-литералов . За условным префикс-литералом могут следовать другие условные префикс-литералы, команды вертикального и горизонтального размещения, и/или команды режима вывода. Все команды между первым условным префикс-литералом и соответствующей ему командой вывода поля/подполя становятся условными и будут выполнены только при наличии поля/подполя, иначе они игнорируются.

2. Один и только один повторяющийся префикс-литерал . Если такой литерал есть, то он должен непосредственно предшествовать соответствующей ему команде вывода поля/подполя.

Суффикс-литералы

Литералы, следующие за командой вывода поля/подполя, называемые суффикс-литералами , выводятся после содержимого поля/подполя.

Если повторяющемуся суффикс-литералу непосредственно предшествует знак ‘+’ (например, +|xxx|), то он будет выведен после каждого, кроме последнего, экземпляра поля/подполя.

С полем/подполем может быть связан более чем один литерал.

В этом случае суффикс — литералы должны подчиняться следующим правилам и порядку:

1. Один и только один повторяющийся суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за соответствующей ему командой вывода поля/подполя.

2. Один и только один условный суффикс-литерал. Если такой литерал есть, то он должен следовать непосредственно за повторяющимся суффикс-литералом или связанной с ним командой вывода поля/подполя.

3. Суффикс-литералы не должны разделяться запятыми и не должно быть запятой между командами вывода поля/подполя и первым суффикс-литералом, так как запятая обозначает конец суффикс-литералов, связанных с данной командой вывода поля/подполя.

Пустые литералы: (т. е. литералы нулевой длины , такие, например, как «» или || ) вполне допустимы и могут использоваться, например, как префикс-литералы для обеспечения условного вертикального размещения или как суффикс-литералы для временного подавления автоматической пунктуации, которая обеспечивается в режиме данных.

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

Примеры различных типов литералов .

Примеры различных типов литералов.

Примеры различных типов литералов.

Что такое литералы? [дубликат]

Потому что в программировании константа — это переменная с фиксированнным значением.

В то же время и само значение такой переменной — это в общем-то тоже константа .

Видимо, поэтому, чтобы избежать неоднозначности толкования — о чём же мы всё-таки говорим, когда в программировании произносим термин константа — ввели термин литерал .

Поэтому в программировании обычно понимают так:

  • константа — это переменная, содержащая фиксированное значение (нонсенс, если подумать — «переменная» и в то же время «фиксированная», но так сложилось)
  • литерал — это само фиксированное значение, которое присваивается переменной-константе или ещё каким-то образом используется в программе (в общем-то не обязательно его куда-то присваивать)

Литералы

В C# литералами называются постоянные значения, представленные в удобной для восприятия форме. Например, число 100 является литералом. Сами литералы и их назначение настолько понятны, что они применялись во всех предыдущих примерах программ без всяких пояснений. Но теперь настало время дать им формальное объяснение.

В C# литералы могут быть любого простого типа. Представление каждого литерала зависит от конкретного типа. Как пояснялось ранее, символьные литералы заключаются в одинарные кавычки. Например, ‘a’ и ‘%’ являются символьными литералами.

Целочисленные литералы указываются в виде чисел без дробной части. Например, 10 и -100 — это целочисленные литералы. Для обозначения литералов с плавающей точкой требуется указывать десятичную точку и дробную часть числа. Например, 11.123 — это литерал с плавающей точкой. Для вещественных чисел с плавающей точкой в C# допускается также использовать экспоненциальное представление.

У литералов должен быть также конкретный тип, поскольку C# является строго типизированным языком. В этой связи возникает естественный вопрос: к какому типу следует отнести числовой литерал, например 2,123987 или 0.23 ? К счастью, для ответа на этот вопрос в C# установлен ряд простых для соблюдения правил.

Во-первых, у целочисленных литералов должен быть самый мелкий целочисленный тип, которым они могут быть представлены, начиная с типа int . Таким образом, у целочисленных литералов может быть один из следующих типов: int , uint , long или ulong в зависимости от значения литерала. И во-вторых, литералы с плавающей точкой относятся к типу double .

Если вас не устраивает используемый по умолчанию тип литерала, вы можете явно указать другой его тип с помощью суффикса. Так, для указания типа long к литералу присоединяется суффикс l или L . Например, 12 — это литерал типа int , a 12L — литерал типа long . Для указания целочисленного типа без знака к литералу присоединяется суффикс u или U . Следовательно, 100 — это литерал типа int , a 100U — литерал типа uint . А для указания длинного целочисленного типа без знака к литералу присоединяется суффикс ul или UL . Например, 984375UL — это литерал типа ulong .

Кроме того, для указания типа float к литералу присоединяется суффикс F или f . Например, 10.19F — это литерал типа float . Можете даже указать тип double , присоединив к литералу суффикс d или D , хотя это излишне. Ведь, как упоминалось выше, по умолчанию литералы с плавающей точкой относятся к типу double .

И наконец, для указания типа decimal к литералу присоединяется суффикс m или M . Например, 9.95M — это десятичный литерал типа decimal .

Несмотря на то, что целочисленные литералы образуют по умолчанию значения типа int , uint , long или ulong , их можно присваивать переменным типа byte , sbyte , short или ushort , при условии, что присваиваемое значение может быть представлено целевым типом.

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

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

Описание

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

В следующем примере 1 и Кот это литералы, а a1, c и cat — переменные:

int a1=1; int c=a1; string cat="Кот";

Литерал в языке Python — это выражение, создающее объект.

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

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

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

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

int a=100; float b=3.1415;

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

var one="один"; var two='два';

Логические литералы, Логические значения — два литерала: 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 v3) допускается использовать выражения, которые служат массивами-литералами и объектами-литералами [2] . Например:

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

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

Примечания

  1. 12 Статья literal в Энциклопедии PC Magazine
  2. 12 Флэнаган Д. JavaScript. Подробное руководство. — Пер. с англ. — СПб: Символ-Плюс, 2008. — 992 с., ил.

Ссылки

  • Literals (англ.)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *