第十七章 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)
网友评论