文章
· 九月 3, 2023 阅读大约需 2 分钟

第十七章 ObjectScript - 使用宏和包含文件include file

第十七章 ObjectScript - 使用宏和包含文件

使用宏和包含文件

如前所述,可以定义宏并稍后在同一类或例程中使用它们。更常见的是,在包含文件中定义它们。

Macros

ObjectScript 支持定义替换的宏。定义可以是一个值、整行代码或(使用 ##continue 指令)多行。

要定义宏,请使用#define 指令或其他预处理器指令。例如:

#define macroname <definition> 

要引用宏,请使用以下语法:

$$$macroname

或者:

$$$macroname(arguments)

使用宏来确保一致性。例如:

 #define StringMacro "Hello, World!"

 write $$$StringMacro

为了让了解宏可以做什么,以下示例显示了内部使用的宏的定义:

 #define CALL(%C,%A) $$$INTCALL(%C,%A,Quit sc) 

这个宏接受参数,就像许多宏一样。它还引用了另一个宏。

一些系统类广泛使用宏。

预处理器指令记录在 ObjectScript 宏和使用 ObjectScript 中的宏预处理器中。

注意:管理门户列出了包含例程的Include files 。然而,Include files 实际上并不是例程,因为它们不可执行。

Include Files

可以在类或例程中定义宏,并稍后在同一类或例程中使用它们。更常见的是,在中心位置定义它们。为此,需要创建并使用包含文件。包含文件定义宏,并且可以包含其他包含文件,并且是扩展名为 .inc 的文档。

创建包含文件后,可以执行以下操作:

  • 在任何例程的开始处包含include file。该例程可以引用包含文件中定义的宏。
  • 在任何类的开始处包含include file。该类中的方法可以引用宏。
  • 在任何方法的开始处包含include file。该方法可以引用宏。

下面显示了系统包含文件的部分内容:

/// Create a success %Status code
#define OK                     1

/// Return true if the %Status code is success, and false otherwise
/// %sc - %Status code
#define ISOK(%sc)              (+%sc)

/// Return true if the %Status code if an error, and false otherwise
/// %sc - %Status code
#define ISERR(%sc)             ('%sc)

要在例程或方法中包含INC,请使用#include指令。 例如:

#include myincludefile

要在类定义的开头包含INC,该指令不包含井号。例如:

Include myincludefile

或者

Include (myincludefile, yourincludefile)
讨论 (0)1
登录或注册以继续