ObjectScript
还支持定义替换的宏。定义可以是一个值、整行代码或(使用 ##continue
指令)多行。使用宏来确保一致性。例如:
#define StringMacro "Hello, World!"
write $$$StringMacro
Include Files
可以在例程中定义宏,并稍后在同一例程中使用它们。更常见的是,在中心位置定义它们。为此,需要创建并使用包含文件。包含文件定义宏并且可以包含其他包含文件。
可以混合使用 ObjectScript
、Python
、 SQL
、类定义、宏、例程等的原因是 IRIS
不直接使用编写的代码。相反,当编译代码时,系统会生成它使用的较低级别的代码。这是由 ObjectScript
引擎使用的 ObjectScript
的 OBJ
代码,以及由 Python
引擎使用的 Python
的 PYC
代码。
有多个步骤。无需详细了解这些步骤,但最好记住以下几点:
Python
方法之外的所有元素,类编译器将类定义和 ObjectScript
代码处理为 INT
代码。 Python
代码被处理成PY代码。在某些情况下,编译器会生成并保存您不应编辑的其他类。例如,当编译定义 Web
服务和 Web
客户端的类时,就会发生这种情况。
类编译器还为每个类生成类描述符。系统代码在运行时使用它。
ObjectScript
代码,预处理器(有时称为宏预处理器或 MPP
)使用包含文件并替换宏。它还处理例程中的嵌入式 SQL
。这些更改发生在临时工作区中,并且代码不会更改。
INT
代码。INT
代码和 PY
代码是中间层,其中通过直接Global
访问来处理对数据的访问。该代码是人类可读的。INT
代码用于生成OBJ
代码,PY代码用于生成PYC
代码。 IRIS
虚拟机使用此代码。一旦将代码编译为 OBJ
和 PYC
代码,代码执行就不再需要 INT
和 PY
例程。IRIS
有一个实用程序,可以删除给定类的类内部和中间代码;可以在部署应用程序时使用此实用程序。如果检查 IRIS
系统类,可能会发现某些类看不到,因为它们处于部署模式。
注意:所有类定义和例程都与生成的代码存储在同一 IRIS
数据库中。这一事实使代码更易于管理。 IRIS
提供了一组强大的源代码控制挂钩, 开发人员已使用这些挂钩多年。也可以使用这些挂钩。
全部0条评论
快来发表一下你的评论吧 !