Кіріспе
Аталған деректер түрінің мәндер жиынтығы Компьютерлік бағдарламалауда санамаланған тип (R бағдарламалау тілінде санама, enum немесе фактор деп те аталады және статистикада санамалық айнымалы) - элементтер, мүшелер, санама немесе типтің санаушылары деп аталатын аталатын мәндер жиынтығынан тұратын деректер түрі. Сандаушы атаулар әдетте тілдегі тұрақтылар ретінде әрекет ететін идентификаторлар болып табылады. Санақталған түрді бірлік түрінің дегенеративті белгіленген одағы ретінде қарастыруға болады. Саналған түрі бар деп жарияланған айнымалыға кез келген санаушыны мән ретінде беруге болады. Басқаша айтқанда, санамаланған типтің бір-бірінен ерекшеленетін, салыстырылатын және тағайындалатын, бірақ бағдарламашы компьютер жадында нақты нақты бейнеленетін деп белгілемейді; компиляторлар мен интерпретаторлар оларды кездейсоқ бейнелей алады. Мысалы, ойын карталарының палубасындағы төрт костюм - бұл клуб, алмаз, жүрек және пика деп аталатын төрт санаушы болуы мүмкін, олар саналған костюмге жатады. Егер V айнымалысы оның дерек түрі ретінде suit деп жарияланса, оған осы төрт мәннің кез келгенін беруге болады. Тізгілер әдетте әртүрлі болса да, кейбір тілдерде бір тізбегіштің түрін декларацияда екі рет келтіруге болады. Санаттауыштардың атаулары семантикалық жағынан толық немесе қандай да бір мағынада үйлесімді болуы қажет емес. Мысалы, түстер деп аталатын санамаланған түр қызыл, жасыл, зебра, жоғалған және бекон санамаларынан тұрады деп анықталуы мүмкін. Кейбір тілдерде санамаланған түрдің декларациясы оның мүшелерінің ретін қасақана анықтайды (Жоғары, Орта және Төмен басымдықтар); басқаларында санаушылар ретсіз (ағылшын, француз, неміс және испан тілдері қолдайды); тағы басқаларында санаушыларды бүтін сандар ретінде нақты көрсететін компилятордан жасырын рет пайда болады. Кейбір санау түрлерін тілге енгізуге болады. Мысалы, Бульдік тип көбінесе False және True мәндерінің алдын ала анықталған санағы болып табылады. Жалғыз мәннен тұратын бірлік түрі null-ті бейнелеу үшін де анықталуы мүмкін. Көптеген тілдер пайдаланушыларға жаңа санамаланған түрлерді анықтауға мүмкіндік береді. Санақталған типтегі мәндер мен айнымалылар әдетте негізгі бейнелеу ретінде бүтін сан түрінде жүзеге асырылады. Кейбір тілдер, әсіресе жүйелік бағдарламалау тілдері, пайдаланушыға әр санаушы үшін қолданылатын бит комбинациясын белгілеуге мүмкіндік береді, бұл санаушы жиынтықтарын тұрақты ұзындығы бар бит тізбегі ретінде тиімді көрсетуге пайдалы болуы мүмкін. Тип теориясында санамаланған типтер жиі бірлік типтерінің таңбаланған одақтары ретінде қарастырылады. Мұндай типтер формаға ие болғандықтан, оларды табиғи сандар ретінде де жазуға болады.
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.
Конвенциялар
Бағдарламалау тілдерінің өздерінің, көбінесе бірнеше бағдарламалау стилі мен атау шарттары бар. Санауға берілген айнымалы әдетте жекеше формадағы есім болып табылады және жиі ПаскальКезе немесе үлкен әріптер конвенциясына сәйкес келеді, ал кіші әріптер мен басқалары жиі көрінбейді.