У18.2 Однократные функции для эмуляции unique-значений

У18.2 Однократные функции для эмуляции unique-значений

Покажите, что в языке без поддержки unique-объявлений результат, аналогичный

value: INTEGER is unique

можно получить, воспользовавшись объявлением вида

value: INTEGER is once...end

где вам необходимо написать тело однократной функции и все, что может еще понадобиться.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Программы эмуляции терминала

Из книги автора

Программы эмуляции терминала Роль терминальных программ в жизни современного применителя Linux переоценить трудно. Это связано с постепенным отмиранием чисто текстовой консоли — ведь давно минули времена, когда она обеспечивала больший комфорт для глаз, нежели любой


13.4 Модель эмуляции терминала в Telnet

Из книги автора

13.4 Модель эмуляции терминала в Telnet Как показано на рис. 13.2, пользователь с реального терминала взаимодействует с локальной клиентской программой telnet. Эта программа принимает введенные с клавиатуры символы, интерпретирует их и выводит результат на пользовательский


4.4.2.1. Создание значений геометрии через функции WKT

Из книги автора

4.4.2.1. Создание значений геометрии через функции WKT MySQL обеспечивает ряд функций, которые берут как входные параметры представление Well-Known Text и, факультативно, пространственный идентификатор системы ссылки (SRID). Они возвращают соответствующую геометрию.GeomFromText() принимает


Убрать повторы (Unique)

Из книги автора

Убрать повторы (Unique) template ‹class ForwardIterator›ForwardIterator unique(ForwardIterator first, ForwardIterator last);template ‹class ForwardIterator, class BinaryPredicate›ForwardIterator unique(ForwardIterator first, ForwardIterator last, BinaryPredicate binary_pred);unique устраняет все, кроме первого, элементы из каждой последовательной группы равных элементов, указываемые


12.6.7. Операция list::unique()

Из книги автора

12.6.7. Операция list::unique() void list::unique();template class BinaryPredicatevoid list::unique( BinaryPredicate pred );Операция unique() удаляет соседние дубликаты. По умолчанию при сравнении используется оператор равенства, определенный для типа элементов контейнера. Например, если даны значения {0,2,4,6,4,2,0}, то после


Ограничения UNIQUE

Из книги автора

Ограничения UNIQUE Ограничение UNIQUE, как и ограничение первичного ключа, гарантирует, что никакие две строки не будут иметь то же значение указанного столбца или группы столбцов. Вы можете объявить для таблицы более одного ограничения UNIQUE, но оно не может использовать тот же


Однократные функции

Из книги автора

Однократные функции Пусть константный объект - это функция. Например, i можно (в иллюстративных целях) описать внутри самого класса COMPLEX какi: COMPLEX is-- Комплексное число, re= 0, а im= 1docreate Result.make_cartesian (0, 1)endЭто почти решает нашу задачу, поскольку функция всегда возвратит ссылку на


Однократные процедуры

Из книги автора

Однократные процедуры Функция close должна вызываться только один раз. Контроль над количеством ее вызовов рекомендуется возложить на глобальную переменную приложения. Из руководства к коммерческой библиотеке функций языка C Механизм однократных функций интересен и


Однократные функции, закрепление и универсальность

Из книги автора

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


Unique-значения

Из книги автора

Unique-значения Иногда при разработке программ возникает потребность в сущности, принимающей лишь несколько значений, характеризующих возможные ситуации. Так, операция чтения может вернуть код результата, значениями которого будут признаки успешной операции, ошибки при


Unique-значения и перечислимые типы

Из книги автора

Unique-значения и перечислимые типы Pascal и производные от него языки допускают описание переменной видаcode: ERRORгде ERROR - это "перечислимый тип":type ERROR = (Normal, Open_error, Read_error)Переменная code может принимать только значения типа ERROR. Мы уже видели, как добиться того же самого в ОО-нотации:


У18.3 Однократные функции в родовых классах

Из книги автора

У18.3 Однократные функции в родовых классах Приведите пример однократной функции, чей результат включает родовой параметр, и, если он не корректен, порождает ошибку времени


У18.4 Однократные атрибуты?

Из книги автора

У18.4 Однократные атрибуты? Исследуйте полезность понятия "однократного атрибута", полученного по образцу однократной функции? Будет ли такой атрибут общим для всех экземпляров класса? Как инициализировать однократные атрибуты? Являются ли они избыточными при наличии