【发布时间】:2010-04-02 17:17:11
【问题描述】:
我在代码中编写了几个“assert(...)”,以确保满足前置条件和后置条件。我们可以告诉 Delphi 编译器,在调试版本中是否使用断言进行编译,在发布版本中是否使用断言进行编译。
我想知道,是否可以像其他 Pascal 关键字一样突出显示“断言”?
【问题讨论】:
我在代码中编写了几个“assert(...)”,以确保满足前置条件和后置条件。我们可以告诉 Delphi 编译器,在调试版本中是否使用断言进行编译,在发布版本中是否使用断言进行编译。
我想知道,是否可以像其他 Pascal 关键字一样突出显示“断言”?
【问题讨论】:
Assert,和很多其他看似“保留词”一样,其实就是所谓的“标准函数”
Exit、Break、Continue 和 Assert 是编译器不保留的符号示例,而是作为符号存在于“系统”单元命名空间中。原因是 Delphi(或者更具体地说是 Turbo Pascal)最初没有 Exit、Break、Continue 或 Assert 的概念。许多现有用户可能已经将这些标识符用于他们自己的库。如果我们将这些标识符设为保留字,我们就会破坏许多现有的应用程序。通过将它们创建为“标准函数”并将它们“限定”到系统单元,我们可以提供添加的功能而不会破坏现有代码。在某些具有自己的 Exit 函数的库中,程序对该标识符的使用不会受到影响。但是,如果程序员明确想要使用 Exit 标准函数,您可以完全限定标识符,如“System.Exit”,编译器将生成代码以退出当前函数,而不是调用范围更近的 Exit。
【讨论】:
Assert。
其实断言不是保留字。
您可以创建自己的 Assert 过程或函数,即使不推荐,它也会编译。
因此,Assert 无法突出显示。
【讨论】:
没有。 Delphi 的荧光笔不能这样配置。您可以配置关键字的颜色,但不能配置哪些字词算作关键字。
如果您将此问题作为功能请求,请提交至 Embarcadero 的 Quality Central。 Stack Overflow 不适合这样做。
由于您正在检查前置条件和后置条件,因此即使没有突出显示,您的断言也应该很容易找到:它们将是任何函数中的第一个和最后一个语句。
【讨论】:
我总是在大写字母中键入退出函数以使其突出。你可以用 assert 做同样的尝试。
【讨论】:
我不这么认为。在Tools -> Options -> Editor Options -> Source Options 下,您可以打开或关闭语法突出显示,但我看不到任何选项可以让您定义要突出显示的语法。
【讨论】: