第九章 ObjectScript 一般系统限制 - 类与例程限制

文章目录

第九章 ObjectScript 一般系统限制 - 类与例程限制

类与例程限制

以下限制适用于类与例程:

类方法引用

限制:每个例程或类有 32768 个唯一引用。

以下算作两个类方法引用,因为即使方法名称相同,类名称也不同。

java 复制代码
 Do ##class(c1).abc(), ##class(c2).abc()
类名引用

限制:每个例程或类有 32768 个唯一引用。

例如,以下内容被计为两个类名引用:

java 复制代码
 Do ##class(c1).abc(), ##class(c2).abc()

同样,以下内容也被计为两个类引用,因为 %File%Library.File 的规范化是在运行时完成的,而不是在编译时完成的。

java 复制代码
 Do ##class(%File).Open(x)
 Do ##class(%Library.File).Open(y)
实例方法引用

限制:每个例程或类 32768

如果 XYOREF,则以下内容算作一个实例方法引用:

java 复制代码
 Do X.abc(), Y.abc()

对多维属性的引用被计为实例方法,因为编译器无法区分它们。例如,考虑以下语句:

java 复制代码
 Set var = OREF.xyz(3)

由于编译器无法判断该语句是引用方法 xyz() 还是多维属性 xyz,因此它将其视为实例方法引用。

限制:每个例程 65535 行,包括注释行。该限制适用于 INT 表示形式的大小。

literals (ASCII)

限制:每个例程或类 65535ASCII 文字。

ASCII 文字是由三个或更多字符组成的带引号的字符串,其中没有字符大于 $CHAR(255)

请注意,ASCII 文字和 Unicode 文字是分开处理的,并且具有单独的限制。

literals(Unicode)

限制:每个例程或类 65535Unicode 文字。

Unicode 文字是一个带引号的字符串,其中至少有一个字符比 $CHAR(255) 大。

请注意,ASCII 文字和 Unicode 文字是分开处理的,并且具有单独的限制。

参数

限制:每个子例程、方法或存储过程 255 个参数。

程序procedures

限制:每个例程 32767

属性Get引用

限制:每个例程或类32768

此限制是指读取属性的值,如下例所示:

java 复制代码
 Set X = OREF.prop
属性Set引用

限制:每个例程或类32768

此限制是指设置属性的值,如下例所示:

java 复制代码
 Set OREF.prop = value
例程引用

限制:每个例程或类 65535

此限制适用于例程或类中唯一引用 (^routine) 的数量。

target references

限制:每个例程或类 65535

目标target是标签^例程(标签和例程的组合)。

任何target引用也算作例程引用。例如,以下内容被计为两个例程引用和三个target引用:

java 复制代码
 Do Label1^Rtn, Label2^Rtn, Label1^Rtn2
TRY

限制:每个例程 65535

私有变量

限制 (ObjectScript):每个过程 32763

限制 (ObjectScript):每个例程或类 65503

相关推荐
消失在人海中5 分钟前
oracle 数据库多表关联查询
服务器·数据库·oracle
九皇叔叔9 分钟前
PostgreSQL/openGauss pg_stats 视图从入门到精通:统计信息、执行计划与慢 SQL 优化实战
数据库·sql·postgresql
sleven fung43 分钟前
MinerU与BabelDOC与KTransformers与OpenAI API库
开发语言·python·ai·langchain
南极企鹅1 小时前
MySQL间隙锁&临键锁
数据库·sql·mysql
萤萤七悬1 小时前
【Python笔记】AI帮实现CLI工具-使用argparse.ArgumentParser接收命令参数
开发语言·笔记·python
iCxhust1 小时前
C# 命令行指令 查看二进制文件
开发语言·单片机·嵌入式硬件·c#·proteus·微机原理·8088单板机
csdn_aspnet1 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
诸葛务农1 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
oort1232 小时前
VLStream:全开源决策式AI视频平台,赋能企业构建自主可控、降本增效的智能视觉应用介绍
大数据·开发语言·人工智能·开源·音视频·数据库架构
TDengine (老段)2 小时前
TDengine 压缩编码机制 — 双层压缩架构与类型特化算法
大数据·数据库·物联网·算法·时序数据库·tdengine·涛思数据