Значения и переменные

Логическое различие между отношениями и переменными отношениями на самом деле является частным случаем общего логического различия между значениями и переменными, и я хочу немного задержаться на рассмотрении общего случая. (Конечно, это отклонение от темы, но думаю, что время будет потрачено не зря, поскольку ясное понимание этого вопроса может оказать неоценимую помощь и в других случаях.) Сначала некоторые определения.

Определение: Значение – это то, что в логике называется «индивидуальной константой», например целое число 3. У значения нет позиции во времени и пространстве. Однако значения могут быть представлены в памяти посредством некоторой кодировки, и у таких представлений, или видов, имеется позиция во времени и пространстве. Неформально говоря, это означает, что сколько угодно различных переменных (см. следующее определение) могут иметь одно и то же значение одновременно или в разное время. Особо отметим, что (по определению) значение невозможно модифицировать; если бы это было допустимо, то после изменения оно перестало бы быть тем же самым значением.

Определение: Переменная – это контейнер для представления значения. Переменная имеет позицию во времени и пространстве. Переменные, в отличие от значений, можно модифицировать, то есть текущее значение данной переменной можно заменить другим значением, возможно, отличным от исходного. (Ведь само слово «переменная» подразумевает возможность изменения; иначе говоря, переменной можно присваивать значения.)

Отметим, что допустимы не только такие простые значения, как целое число 3. Значение может быть сколь угодно сложным: геометрической точкой, многоугольником, рентгеновским лучом, XML-документом, отпечатком пальца, массивом, стеком, списком, отношением (перечень можно продолжать до бесконечности). То же самое, конечно, относится и к переменным. Я еще буду говорить на эту тему в следующих двух главах.

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

Мы отличаем объявленный тип переменной от … типа объекта, являющегося текущим значением этой переменной [следователь- но, объект является значением]… Мы различаем объекты и значения [следовательно, объект таки не является значением]… Изменяющий оператор – [это такой оператор, для которого,] возможно наблюдать эффект его применения к некоторому объекту [получается, что объект является переменной].








Дата добавления: 2017-01-17; просмотров: 1260;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.