Термин для представления всех возможных значений переменной

Существует ли термин для представления набора всех возможных значений, которые может принимать переменная?

Аналогия:
В математике домен функции — это набор значений, на которых определяется функция (функция может принимать в качестве аргумента).

Примеры:

  • Переменная типа UInt16 может содержать значения в диапазоне [0-65536).
  • Статус завершения (представленный двойным значением) может содержать значение в диапазоне [0–100].
  • Пол (представленный Enum) может содержать один из {Мужской, Женский}.

Вопрос
Какой термин описывает все возможные значения, которые переменная может (контекстно) принимать?

В основном нужна короткая версия «набора значений для переменной». Я видел термин тип, используемый для описания такого диапазона, но тип часто включает в себя другие биты информации (например, имя, операции, модуль).


person THX-1138    schedule 28.04.2009    source источник


Ответы (11)


Я также слышал термин «ценное пространство» для этого.

person Lasse V. Karlsen    schedule 28.04.2009
comment
Однозначно и коротко. Идеальный. См. также: stylusstudio.com/w3c/schema2/value-space.htm - person THX-1138; 28.04.2009

  • набор значений
  • домен
  • диапазон значений
person Adam Robinson    schedule 28.04.2009

Я бы просто назвал это «диапазоном» или «диапазоном значений».

person Matthew Flaschen    schedule 28.04.2009
comment
Диапазон может сбить с толку математиков. - person David Hodgson; 28.04.2009
comment
Верно, но когда это нас останавливало? - person Matthew Flaschen; 28.04.2009

Домен был бы математическим термином.

person Brian    schedule 28.04.2009
comment
Домен будет определять набор допустимых входных данных, но не набор всех возможных значений, которые может принимать переменная. - person Paul Sonier; 28.04.2009
comment
Это зависит от. Предположим, у вас есть, int monkey; Домен int и домен monkey могут быть разными. Но вполне возможно сказать либо домен обезьяны, либо домен int. - person Brian; 28.04.2009
comment
@McWafflestix, так что вы говорите, что набор значений, который может быть установлен для переменной на законных основаниях (домен variable.set(value) ), отличается от набора значений, которые он может принять (диапазон variable.get() ) ? - person Pete Kirkham; 28.04.2009

Я не знаю жаргона программирования с таким значением, но сам «домен» кажется довольно хорошим...

[EDIT] Прочитайте комментарии к этому, и я действительно предпочитаю «диапазон».

person Promit    schedule 28.04.2009
comment
Я бы не согласился, предполагая, что он собирался использовать это в каком-то контексте программирования. Если бы кто-нибудь спросил меня, каков домен этой переменной?, я бы понятия не имел, что они пытались выяснить. - person Chad Birch; 28.04.2009
comment
Я даже не думал о домене. +1 - person TheTXI; 28.04.2009
comment
Я помню это в математике как область возможных значений или что-то в этом роде. - person TheTXI; 28.04.2009
comment
На самом деле, я думаю, что сказал бы «диапазон», если бы дискутировал с коллегой. Вполне разумно рассматривать переменную как функцию, а значения — это диапазон этой функции. (У него нет домена, так как у него нет входных данных.) В конце концов, именно так работает функциональное программирование. - person Promit; 28.04.2009

Я не знаю, является ли это точной терминологией (если она вообще есть), но я всегда называл ее диапазоном или, в случае перечисления, параметрами.

person TheTXI    schedule 28.04.2009

Диапазон является правильным термином, например, "этот метод будет возвращать значения в диапазоне..."; "Ожидаемый диапазон этой переменной:..." и т.д.

person Paul Sonier    schedule 28.04.2009
comment
Но диапазон действительных рабочих дней для декабря составляет от 01 до 31. Однако выходные недействительны. - person miPwn; 28.04.2009
comment
да, от 01 до 31 допустимый набор всех ВОЗМОЖНЫХ значений; не обязательно все допустимые значения для всех ситуаций (например, разные годы). от 0 до 31 допустимый диапазон; набор решений для любой заданной проблемы не обязательно должен включать все значения в диапазоне. - person Paul Sonier; 28.04.2009

Для атомарных типов сам тип описывает диапазон (например, int имеет диапазон от -2 147 483 648 до 2 147 483 647).

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

Определение типа также будет различаться в разных языках.

Длинный и короткий, как правило, вы сможете применять диапазон только к атомарным типам на основе определенного языка.

person Scott Lance    schedule 28.04.2009

Это зависит от типа системы. В некоторых языках программирования «строка» может содержать последовательность символов, а «целое число без знака» может содержать только положительные целые числа. В других, таких как python, переменная может содержать что угодно, потому что она не имеет определенного типа.

person Michael    schedule 28.04.2009

Наши кванты говорят, что это называется набором значений. Им платят кучу денег за их создание, так что я им верю!

person miPwn    schedule 28.04.2009

Вы можете представить себе переменную как содержащую элемент, который является членом набора чисел.

Таким образом, domain является хорошим дескриптором возможных значений этого набора.

Диапазон также часто используется в подобном контексте. Здесь мы говорим о диапазоне функции как о наборе значений, которые может принимать функция. Так как переменная всегда содержит результат некоторого выражения или вычисления, очевидно, что диапазон также имеет смысл.

И то, и другое уместно в соответствующем контексте.

person Community    schedule 28.04.2009