Что означает слово «буквальный»? - PullRequest
69 голосов
/ 27 января 2009

Что означает слово «литерал» при использовании в контексте, таком как буквенные строки и буквальные значения?

В чем разница между литеральным значением и значением?

Ответы [ 11 ]

0 голосов
/ 07 мая 2018

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

Пример типов, значения которых часто представлены литералами:

Boolean = { true, false }
Integer = { ..., -2, -1, 0, 1, 2, ... }
Character = { 'a', 'b', ... }
String = { "hello", "world", ... }

В некоторых языках литералы даже для типов функций:

Integer -> Integer = { (x: Integer) => x + 2), (x: Integer) => x/2, ...}

Примером значений, которые обычно не представлены литералами, будет значения типов классов:

Car(brand: String, seats: Integer) = { Car("BMW", 5), Car("Ferrari", 2), ...}

Здесь значение Car("BMW", 5) в типе Car действительно однозначно обозначается с использованием последовательности символов, однако значение не представляется с использованием выделенного стенографического литерала, а вместо этого использует общие (подробные) условные механизмы для обозначения значений любого типа класса.

Термин литерал является синонимом терминов значение , экземпляр , константа , элемент и элемент типа, но несет в себе немного дополнительного значения, которое говорит нам, что есть сокращение для его записи.

Мне нравится думать о литералах как о египетских иероглифах, а не как о соединении букв алфавита, чтобы выразить концепцию.

...