第七章 ObjectScript 一般系统限制

2023-10-28 09:52

本文主要是介绍第七章 ObjectScript 一般系统限制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第七章 ObjectScript 一般系统限制
  • 字符串长度限制
  • 下标限制
  • `Global`的最大长度

第七章 ObjectScript 一般系统限制

字符串长度限制

字符串的长度有限制:3,641,144 个字符。

重要的是要认识到字符串不仅仅是从输入/输出设备读取的结果。它们可以显示在其他上下文中,例如 SQL 查询返回的结果集中的行中的数据、通过构建具有大量项目的 $LIST、作为 XSLT 转换的输出以及许多其他方式。

下标限制

局部变量、进程私有变量、Global和锁名称都可以带下标。以下限制适用:

  • 任何下标都有最大长度。超过最大下标长度会导致 <SUBSCRIPT> 错误:

    • 对于多维数组,下标的最大长度为 32767 个编码字节。
    • 对于Global数组,下标的最大长度为 511 个编码字节。

    请注意,在每种情况下,相应的字符数取决于下标中的字符和当前区域设置。

    此外,允许的最长整数为 309 位;超过此限制会导致 <MAXNUMBER> 错误。因此,超过 309 个字符的数字下标必须指定为字符串。

  • 局部变量的最大下标级别数为 255global或进程私有global的最大下标级别数为 253。超过最大下标级别数将导致<SYNTAX> 错误。

Global的最大长度

Global引用(即对特定Global节点或子树的引用)的总长度限制为 511 个编码字符(可能少于 511 个键入字符)。

要保守地确定给定Global引用的大小,请使用以下准则:

  1. 对于全局名称:每个字符加 1

  2. 对于纯数字下标:为每个数字、符号或小数点加 1

  3. 对于包含非数字字符的下标:为每个字符添加 3

    如果下标不是纯数字,则下标的实际长度会根据用于对字符串进行编码的字符集而有所不同。一个多字节字符最多可以占用 3 个字节。

    请注意,一个 ASCII 字符可以占用 12 个字节。如果排序规则进行大小写折叠,则 ASCII 字符可以占用 1 个字节作为字符,1 个字节作为消歧字节。如果排序规则不执行大小写折叠,则 ASCII 字符占用 1 个字节。

  4. 对于每个下标,加 1

如果这些数字的总和大于 511,则引用可能太长。

由于确定限制的方式,如果必须具有长下标或Global名称,则避免大量下标级别会很有帮助。相反,如果使用多个下标级别,请避免使用长Global名称和长下标。由于可能无法控制正在使用的字符集,因此保持Global名称和下标较短非常有用。

当对特定引用存在疑问时,创建与最长预期Global引用长度相等(甚至更长)的Global引用的测试版本会很有用。这些测试的数据为在构建应用程序之前对命名约定进行可能的修订提供了指导。

这篇关于第七章 ObjectScript 一般系统限制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/292419

相关文章

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定