第七章 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

相关文章

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL