Можно ли добавить «assert» в качестве ключевого слова в Delphi? - PullRequest
2 голосов
/ 02 апреля 2010

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

Я хотел бы знать, , если это возможно, выделить "утверждать", как и другие ключевые слова Паскаля?

Ответы [ 5 ]

5 голосов
/ 03 апреля 2010

Утверждают, что, как и многие другие, казалось бы, «зарезервированные слова», на самом деле они называются «стандартными функциями»

Exit, Break, Continue и Assert являются примерами символов, которые не зарезервированы компилятором, а существуют как символы в пространстве имен модуля «Система». Причина в том, что Delphi (или, точнее, Turbo Pascal) изначально не имел понятия Exit, Break, Continue или Assert. Многие существующие пользователи, возможно, уже использовали эти идентификаторы для своих собственных библиотек. Если бы мы сделали эти идентификаторы зарезервированными словами, мы бы сломали многие существующие приложения. Создавая их как «стандартные функции» и «ограничивая» их для системного блока, мы могли бы предоставить дополнительную функциональность без риска взлома существующего кода. В некоторой библиотеке, которая имеет, скажем, свою собственную функцию выхода, использование этого идентификатора программой не будет затронуто. Однако, если программист явно хотел использовать стандартную функцию Exit, вы можете полностью определить идентификатор, такой как «System.Exit», и компилятор сгенерирует код для выхода из текущей функции, а не будет вызывать Exit, который находится ближе к области действия. *

3 голосов
/ 02 апреля 2010

На самом деле Утверждение не является зарезервированным словом .
Вы можете создать свою собственную процедуру или функцию Assert и даже если это не рекомендуется, она скомпилируется.
Поэтому с Assert подсветка невозможна.

2 голосов
/ 02 апреля 2010

Я всегда набираю функцию выхода ЗАГЛАВНЫМИ БУКВАМИ, чтобы она выделялась. вы можете попробовать то же самое с assert.

2 голосов
/ 02 апреля 2010

Нет. Подсветка Delphi не настраивается таким образом. Вы можете настроить цвет ключевых слов, но вы не можете настроить, какие слова считаются ключевыми словами.

Если вы задали этот вопрос как запрос функции , отправьте его в Embarcadero Quality Central . Переполнение стека не место для этого.

Поскольку вы проверяете предварительные и постусловия, ваши утверждения должно быть довольно легко найти даже без выделения: они будут первым и последним утверждением в любой функции.

0 голосов
/ 02 апреля 2010

Я так не думаю. В Tools -> Options -> Editor Options -> Source Options вы можете включить или выключить подсветку синтаксиса, но я не вижу никакой опции, позволяющей определить, какой синтаксис выделить.

...