Введение
Названный набор значений типа данных В компьютерном программировании, перечисленный тип (также называемый перечислением, числом или фактором в языке программирования R, и категорической переменной в статистике) - это тип данных, состоящий из набора именных значений, называемых элементами, членами, числом или перечислителями типа. Имена перечислителей обычно являются идентификаторами, которые ведут себя как константы в языке. Перечисленный тип можно рассматривать как вырожденный маркированный союз типа единицы. Переменной, которая была объявлена как имеющая перечисленный тип, может быть присвоен любой из перечислителей в качестве значения. Другими словами, перечисленный тип имеет значения, которые отличаются друг от друга, и которые могут быть сравниты и назначены, но не определены программистом как имеющие какое-либо конкретное конкретное представление в памяти компьютера; компиляторы и интерпретаторы могут представлять их произвольно. Например, четыре костюма в колоде игровых карт могут быть четырьмя перечислителями, названными Клуб, Бриллиант, Сердце и Пик, принадлежащими перечисленному типу, названному костюмом. Если переменная V объявлена с типом данных suit, то ей можно присвоить любое из этих четырех значений. Хотя перечислители обычно отличаются, некоторые языки могут разрешить дважды перечислять один и тот же перечислитель в декларации типа. Имена перечислителей не должны быть семантически полными или совместимыми в каком-либо смысле. Например, перечисленный тип, называемый цветом, может быть определен как состоящий из перечислителей Красный, Зеленый, Зебра, Пропавший и Бэкон. В некоторых языках декларация перечисленного типа также намеренно определяет порядок его членов (высокий, средний и низкий приоритеты); в других языках перечислители не упорядочены (английский, французский, немецкий и испанский языки поддерживаются); в других языках еще неявный порядок возникает из компилятора, конкретно представляющего перечислители как целые числа. Некоторые типы перечислителей могут быть встроены в язык. Например, булевой тип часто является предварительно определенным перечислением значений False и True. Тип единицы, состоящий из одного значения, также может быть определен для представления нуля. Многие языки позволяют пользователям определять новые перечисленные типы. Значения и переменные перечисленного типа обычно реализуются с некоторым целым типом в качестве базового представления. Некоторые языки, особенно языки системного программирования, позволяют пользователю указывать комбинацию битов, которая будет использоваться для каждого перечислителя, что может быть полезно для эффективного представления множеств перечислителей в виде битовых строк с фиксированной длиной. В теории типов перечисленные типы часто рассматриваются как маркированные союзы типов единиц. Поскольку такие типы имеют форму , они также могут быть записаны как натуральные числа.
In computer programming, an enumerated type (also called enumeration, enum, or factor in the R programming language, and a categorical variable in statistics) is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type. The enumerator names are usually identifiers that behave as constants in the language. An enumerated type can be seen as a degenerate tagged union of unit type. A variable that has been declared as having an enumerated type can be assigned any of the enumerators as a value. In other words, an enumerated type has values that are different from each other, and that can be compared and assigned, but are not specified by the programmer as having any particular concrete representation in the computer's memory; compilers and interpreters can represent them arbitrarily. For example, the four suits in a deck of playing cards may be four enumerators named Club, Diamond, Heart, and Spade, belonging to an enumerated type named suit. If a variable V is declared having suit as its data type, one can assign any of those four values to it. Although the enumerators are usually distinct, some languages may allow the same enumerator to be listed twice in the type's declaration. The names of enumerators need not be semantically complete or compatible in any sense. For example, an enumerated type called color may be defined to consist of the enumerators Red, Green, Zebra, Missing, and Bacon. In some languages, the declaration of an enumerated type also intentionally defines an ordering of its members (High, Medium and Low priorities); in others, the enumerators are unordered (English, French, German and Spanish supported languages); in others still, an implicit ordering arises from the compiler concretely representing enumerators as integers. Some enumerator types may be built into the language. The Boolean type, for example is often a pre defined enumeration of the values False and True. A unit type consisting of a single value may also be defined to represent null. Many languages allow users to define new enumerated types. Values and variables of an enumerated type are usually implemented with some integer type as the underlying representation. Some languages, especially system programming languages, allow the user to specify the bit combination to be used for each enumerator, which can be useful to efficiently represent sets of enumerators as fixed length bit strings. In type theory, enumerated types are often regarded as tagged unions of unit types. Since such types are of the form , they may also be written as natural numbers.
Конвенции
Языки программирования имеют свой собственный, часто многочисленный, стиль программирования и названия. Переменная, присвоенная перечислению, обычно является существительным в единственном числе и часто следует либо паскальскому случаю, либо большому слову, в то время как малые и другие встречаются реже.