Литералы
Литерал — это строка символов, заключенная в соответствующие ограничители, которая вносится в выводимый текст в таком виде, как она приведена в формате . Литералы могут использоваться, например, для именования полей.
Существуют литералы трех типов:
Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля/подполя. Если поле является повторяющимся, то текст будет выведен только один раз, независимо от количества экземпляров поля/подполя. Условные литералы заключаются в двойные кавычки ( » ) , например, » Заглавие : «.
Он определяет текст, который будет выведен только в случае присутствия в записи соответствующего ему поля или подполя. Однако, если поле повторяющееся, литерал будет выводиться для каждого экземпляра поля/подполя. Повторяющиеся литералы заключаются в вертикальные черты ( | ), например, | Автор: |.
Он определяет текст, который будет выведен независимо от наличия поля в записи. Безусловные литералы заключаются в одинарные кавычки ( ‘ ), например, ‘ Краткое содержание ‘ или ‘ Заголовок ‘.
Литерал не должен содержать ограничителей литерала.
Например, безусловный литерал не может содержать одинарную кавычку (хотя может содержать двойные кавычки и/или вертикальные черты).
Условные и/или повторяющиеся литералы связываются с полем или подполем своим расположением в формате.
Префикс-литералы
Литералы, предшествующие команде вывода поля/подполя, называемые префикс-литералами , выводятся перед содержимым поля/подполя.
Если за повторяющимся префикс-литералом непосредственно следует знак ‘+’ (например, |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] // Инициализатор массива // Инициализатор объекта
Иногда анонимные функции относят к литералам-функциям, а анонимные объекты к литералам-объектам.
Примечания
- ↑ 12 Статья literal в Энциклопедии PC Magazine
- ↑ 12 Флэнаган Д. JavaScript. Подробное руководство. — Пер. с англ. — СПб: Символ-Плюс, 2008. — 992 с., ил.
Ссылки
- Literals (англ.)