首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

模块包含子例程内的包含子例程是否保证“意图”?

模块包含子例程内的包含子例程并不保证"意图"。模块是一种将代码组织成可重用单元的方式,而子例程是模块中的一个独立功能单元。子例程可以被其他模块或者子例程调用,以实现特定的功能。

在模块中包含子例程时,子例程的功能是由开发人员根据需求来设计和实现的。因此,子例程的"意图"是由开发人员决定的,而不是由模块本身来保证的。

模块包含子例程的主要目的是提高代码的可重用性和可维护性。通过将功能划分为独立的子例程,可以使代码更加模块化和易于理解。这样,在需要相同功能的其他模块中,可以直接调用已经实现好的子例程,而不需要重新编写相同的代码。

对于模块包含子例程内的包含子例程,同样的原则适用。子例程可以继续包含其他子例程,以实现更复杂的功能。但是,子例程的"意图"仍然是由开发人员来定义和实现的。

总结起来,模块包含子例程内的包含子例程并不保证"意图",而是由开发人员根据需求来设计和实现的。这种方式可以提高代码的可重用性和可维护性,使代码更加模块化和易于理解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ABAP 模块化编程概念详解

简化程序维护 方便程序调试 样例 获取每月最后一天(函数) 获取当前时间(函数) 模块化编程内容 函数 子例程 宏 类 参数 用于在程序和模块之间交换数据 定义模块化单元的时候就确定了可以使用哪些参数...参数分类 输入参数——是用来传递数据给模块化单元 导出参数——把模块化单元中的数据返回给调用程序 变更参数——是把数据传递给模块化单元并返回更改后的数据 (传入内表,内表变动,传出变动内表) 函数的概念...函数组 Function Group Function Group中可以包含一个以上的函数,是对某一类对象的操作。...表 参数名称:你输出表的名称 类型化: 有type ,like 两个 参考 内表/表 关联类型: 具体哪个内表/表 例外 即 抛出异常 例外:异常名称 短文本:异常描述 源代码 即你操作的所有内容代码...结果 子例程 子例程的概念 子例程概述: 子例程是源代码里具有一定独立功能的模块单元。

1.6K21
  • ARM汇编语言模块结构和条件执行

    ARM汇编语言 模块结构 模块示例 ENTRY 指令 start 应用程序执行 stop 应用程序终止 END 指令 调用子例程 ALU 状态标记 条件执行 模块结构 ARM汇编语言是指 ARM 汇编程序...反斜杠符 (\) :在行尾放置反斜杠符 (\),可以将较长的源代码行拆分为多个行。不要在带引号的字符串内使用反斜杠。 行长度的最大值为 4095 个字符,包括使用反斜杠的任何扩展在内。...ENTRY 指令 ENTRY 标记的是第一个要执行的指令。在包含 C 代码的应用程序中,在 C 库 初始化代码中也包含一个入口点。初始化代码和异常处理程序也包含入口点。...调用子例程 若要调用子例程,应使用跳转和链接指令,其语法是:BL destination BL 指令:将返回地址存放到链接寄存器中,将pc设置为子例程的地址。...destination是子例程的第一个指令处的标签,也可以是程序相对表达式。 在执行子例程代码后,可以使用 BX lr 指令返回。

    97240

    Python 数学应用(一)

    计算矩阵行列式的 NumPy 例程包含在一个名为linalg的单独模块中。这个模块包含了许多关于线性代数的常见例程,线性代数是涵盖向量和矩阵代数的数学分支。...sparse.csgraph模块中包含与网络(图)相关的稀疏矩阵的其他例程。我们将在第五章中进一步讨论这些内容,处理树和网络。 sparse模块包含几种表示稀疏矩阵存储方式的不同类。...进一步阅读 Matplotlib 包非常庞大,我们在这么短的篇幅内几乎无法充分展现它。文档中包含的细节远远超过了这里提供的内容。...准备工作 SciPy 包含用于解方程的例程(以及许多其他内容)。根查找例程可以在scipy包的optimize模块中找到。...在本示例中,我们将看到如何使用 SciPy 包中的数值积分例程来计算函数的积分。 准备工作 我们使用scipy.integrate模块,其中包含几个用于计算数值积分的例程。

    18100

    Python 异步: 协程(4)

    现在我们对什么是协程有了一些了解,让我们通过将它们与其他熟悉的编程结构进行比较来加深这种理解。 2. 协程与例程和子例程 “例程”和“子例程”在现代编程中通常指的是同一事物。...也许更准确地说,例程是程序,而子例程是程序中的函数。例程有子例程。它是一个离散的表达式模块,它被分配了一个名称,可以接受参数并可以返回一个值。...子例程:可按需执行的指令模块,通常已命名,可采用参数并返回值。也称为函数 一个子程序被执行,遍历表达式,并以某种方式返回。通常,一个子程序被另一个子程序调用。协程是子例程的扩展。...这意味着子例程是一种特殊类型的协程。 协程在很多方面都像子例程,例如: 它们都是离散的命名表达式模块。 他们都可以接受争论,也可以不接受。 它们都可以返回一个值,也可以不返回。...不同之处在于协程的暂停可能允许任意数量的其他协程也运行。这使得调用另一个协程的协程比调用另一个子例程的子例程更强大。它是协同程序促进的协作多任务处理的核心。 3.

    62630

    Python 异步: 协程(4)

    现在我们对什么是协程有了一些了解,让我们通过将它们与其他熟悉的编程结构进行比较来加深这种理解。2. 协程与例程和子例程“例程”和“子例程”在现代编程中通常指的是同一事物。...也许更准确地说,例程是程序,而子例程是程序中的函数。例程有子例程。它是一个离散的表达式模块,它被分配了一个名称,可以接受参数并可以返回一个值。...子例程:可按需执行的指令模块,通常已命名,可采用参数并返回值。也称为函数一个子程序被执行,遍历表达式,并以某种方式返回。通常,一个子程序被另一个子程序调用。协程是子例程的扩展。...这意味着子例程是一种特殊类型的协程。协程在很多方面都像子例程,例如:它们都是离散的命名表达式模块。他们都可以接受争论,也可以不接受。它们都可以返回一个值,也可以不返回。...不同之处在于协程的暂停可能允许任意数量的其他协程也运行。这使得调用另一个协程的协程比调用另一个子例程的子例程更强大。它是协同程序促进的协作多任务处理的核心。3.

    83020

    用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略

    至此,我们实现了计算并绘制MACD指标线的功能,读者应该掌握了如何获得指定股票在指定时间段内的交易数据,而后可以稍微改写上述的范例程序,绘制出其他股票在指定时间范围内的MACD走势图。...第13行定义计算MACD的calMACD方法和DrawMACD.py范例程序中的同名方法也完全一致,但在最后的第15行,是通过return语句返回整个df对象,而不是返回仅仅包含MACD指标的相关列,这是因为...方法中包含了从数据表中获取的股票交易数据并返回MACD指标的代码, 这部分程序代码与之前DrawKwithMACD.py范例程序中的程序也非常相似,只不过在第21行中是根据股票代码来动态地拼接select...7 def calEMA(df, term): 8 # 省略方法内的程序代码,请参考本书提供下载的完整范例程序 9 # 定义计算MACD的方法内的程序代码也没有变 10...当满足这个条件时,再通过第22行的if语句判断当天的Bar柱数值是否小于前一天的,即判断Bar柱是否在向下运动。当满足这两个条件时,通过第23行的代码输出建议卖出股票的日期。

    4.2K10

    Architecture of SQLite

    因为Lemon是一个通常在开发机器上找不到的程序,所以Lemon的完整源代码(只有一个C文件)包含在SQLite发行版的“tool”子目录中。...vdbeaux.c文件包含虚拟机使用的实用程序以及库中其他部分用来构造虚拟机程序的接口模块。...文件格式的细节是稳定的和定义良好的,并保证向前移动时兼容。 B树子系统和SQLite库其余部分的接口由头文件B-tree.h定义。 Page Cache B树模块以固定大小的页面从磁盘请求信息。...Utilities 内存分配、无大小写字符串比较例程、可移植的文本到数字转换例程和其他实用程序位于util.c中。解析器使用的符号表由hash.c中的哈希表维护。...utf.c源文件包含Unicode转换子例程。SQLite在printf.c中有自己的printf()私有实现(带有一些扩展),在random.c中有自己的伪随机数生成器(PRNG)。

    1.4K30

    针对Model X无钥匙系统的远程攻击

    然而,识别哪些服务及其子功能允许执行特定于车辆的操作可能是一项乏味的工作。枚举阶段的目标是识别用于指示 BCM 向遥控钥匙发送唤醒数据包的诊断操作。...每个请求都包含服务标识符、欲执行的命令或子功能以及一个两字节的例程标识符。某些例程需要额外的输入数据,在ISO-14229规范中称为routineControlOptionRecord。...相比之下,唤醒遥控钥匙的例程可能不需要任何额外的输入,而不是请求启动子功能。...之后,遥控钥匙可以解密这些 AES 密钥,并验证该 magic 值是否仍然存在。配对协议的其余部分由几个步骤组成,用于确保双方具有相同的对称密钥。...通过启动唤醒 UDS 例程,攻击者可以使用修改后的 BCM 发送此 LF 唤醒数据包,并且可以利用 BCM 和 Model X 中使用的标准天线在几米的范围内唤醒遥控钥匙。

    52031

    S7-200 smart做一个电机控制库

    也可单击任何节点以更改该节点的信息: a. "名称和路径"(Name and Path) 节点 : 库名称:库名称可以包含空格和大小写混合字母; 库文件路径:默认路径存储库。 图3....组件"(Components) 节点:选择项目中的哪些子例程要作为指令包括在库中。 要包括子例程,请在左侧列表中选择子例程,然后单击"添加"(Add) 按钮。...要删除子例程,请选择右侧的子例程,然后单击"删除"(Remove) 按钮。 不能直接添加中断例程;但如果子例程引用了中断例程,STEP 7 Micro/WIN SMART 会自动包含该中断例程。...使用添加、删除按钮选择要建立成为库指令的子程序 c."保护"(Protection) 节点:可选择是否要用密码保护库中的代码,以防止查看和编辑。...这个项目是包含库子例程代码的项目,而不是调用库指令的项目。 3.进行必要的更改。

    5.1K20

    操作系统(3)实验相关原理——bootloader启动uCore

    搞这么多,GDT就是为了保证段机制在进入保护模式之后还是可以正常工作。 解决了之后就可以开始加载uCore OS。...表的起始地址在IDTR里面,这个起始地址由操作系统指定。 上图为陷阱门/中断门的信息,可以看到每一项包含了段选择子和偏移。通过这两个东西可以确定例程的起始地址。...上图表示了怎么通过IDT和GDT/LDT来确定中断服务例程的确切地址,首先中断向量进来,变成index在IDT中选择相应的陷阱门/中断门,提取出对应的偏移和段选择子,最后通过段选择子在GDT中选中段描述符...最后的最后,基地址和偏移结合,得出最终的中断例程的地址(中断例程也是操作系统要实现的)。CPU会自动根据这两个表来进行处理,所以操作系统只需要构建这两个表和例程就行。以上就是中断处理初始化的过程。...ret只弹出EIP,跳到当时调用指令的下一条指令去执行,retf要弹出CS和EIP,用来实现远程跳转。特权变化的时候就要弹出图中所示的栈内的内容。

    78630

    Keras作者Chollet谈深度学习的未来:自动调参,极端泛化

    当然,这些程序仍然会将连续的几何层作为子例程,这部分是可微分的,但是整个模型不会具有这个性质。...随着模型演变得越来越像程序,我们将开始再利用程序子例程,比如编程语言中的函数和类别。...当系统发现自己要为几个不同的任务开发类似的程序子例程时,它会开发一个“抽象”的、可再利用的子例程版本,并将它存储在全局库中。...这些子例程可属于几何型(带有预训练表征的深度学习模块),或是算法型(更靠近当代软件工程师使用的函数库)。 ?...它们可以使用存储在可再利用子例程的全局库中的模块,这个全局库是通过在数千个先前任务和数据集上学习高性能模型而得到的函数库。

    93650

    Caché 变量大全 $ZTRAP 变量

    Caché 变量大全 $ZTRAP 变量 包含当前错误陷阱处理程序的名称。 大纲 $ZTRAP $ZT 描述 $ZTRAP包含当前错误陷阱处理程序的行标签名和/或例程名。...如果指定了不存在的行标签(当前例程中不存在的位置),则会发生以下情况: 显示$ZTRAP:在例程中,$ZTRAP包含label ^ routine。例如,DummyLabel^MyRou。...在一个过程中,$TRAP包含最大可能的偏移量:+ 34463 ^ MyProc。 调用$ZTRAP:InterSystems IRIS发出错误消息。...只能在不是过程的子例程中使用此示例中的: /// d ##class(PHA.TEST.SpecialVariables).ZTRAP() ClassMethod ZTRAP() { Main...无论之前是否设置了$ZTRAP,TRY块中发生的错误都由CATCH块处理。CATCH块内发生的错误由当前错误捕获处理程序处理。 下面的第一个示例显示了TRY块中发生的错误。

    61910

    【收藏】JavaScript DOM操作简易速查手册

    var children = node.children; 查看示例程序 3.2.2 首子元素-firstElementChild 元素是节点的一种。 返回所有子元素中的第一个。...var previous = node.previousElementSibling; 查看示例程序 3.2.6 子元素数量 返回子元素的数量。...img.setAttribute("width","400px"); 查看示例程序 4.2.3 属性存在检测-hasAttribute 返回布尔值,用来检测属性是否存在。...var title2 = title.cloneNode(true); 查看示例程序 7 插入节点 7.1 插入子节点-appendChild 在指定元素上插入子节点,并使其成为该节点的最后一个子节点。...查看示例程序 8 删除和替换 8.1 删除子节点-removeChild 在父节点上调用 参数是待删除的节点 parent.removeChild(h2); 查看示例程序 8.2 替换子节点-replaceChild

    1.1K20
    领券