第十八章 ObjectScript - 使用例程

这篇具有很好参考价值的文章主要介绍了第十八章 ObjectScript - 使用例程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第十八章 ObjectScript - 使用例程

例程

可以将例程视为 ObjectScript 程序。例程可以从头开始编写,也可以在编译类时自动生成。

Procedures, Functions, and Subroutines 过程、函数和子程序

ObjectScript 例程中,标签定义以下代码单元之一的起点:

  • Procedures过程(可选地返回一个值)。过程中定义的变量是该过程私有的,这意味着它们不可用于其他代码。对于函数和子例程来说,情况并非如此。

过程也称为过程块。

  • 函数(返回值)。
  • 子例程(不返回值)。

建议使用过程Procedures,因为这可以简化控制变量范围的任务。然而,在现有代码中,可能还会看到函数和子例程,并且能够识别它们非常有用。以下列表显示了所有这些形式的代码的外观。

procedure
label(args) scopekeyword {
    zero or more lines of code 
    QUIT returnvalue
    }

或者

label(args) scopekeyword {
    zero or more lines of code 
    }

label 是过程的标识符。

args 是可选的以逗号分隔的参数列表。即使没有参数,也必须包含括号。

可选的scopekeyword是以下之一(不区分大小写):

  • Public - 如果指定 Public,则该过程是公共的,并且可以在例程本身之外调用。
  • Private(过程的默认值)。如果指定 Private,则该过程是私有的,只能由同一例程中的其他代码调用。如果尝试从另一个例程访问该过程,则会发生<NOLINE> 错误。

returnvalue 是一个可选的、要返回的单个值。要返回值,必须使用 QUIT 命令。如果不想返回值,可以省略 QUIT 命令,因为大括号表示过程结束。

过程可以将变量声明为公共变量,尽管这种做法并不被认为是现代的程序推荐。为此,可以在紧邻范围关键字之前的方括号中包含以逗号分隔的变量名称列表。

function
label(args) scopekeyword
    zero or more lines of code 
    QUIT optionalreturnvalue

args 是可选的以逗号分隔的参数列表。即使没有参数,也必须包含括号。

可选的作用域关键字是 Public(函数的默认值)或 Private

subroutine
label(args) scopekeyword
    zero or more lines of code 
    QUIT

args 是可选的以逗号分隔的参数列表。如果没有参数,则括号是可选的。

可选的作用域关键字是 Public(子例程的默认值)或 Private

下表总结了例程、子例程、函数和过程之间的差异:

  Routine Subroutine Function Procedure
可以接受参数 no yes yes yes
可以返回值 no no yes yes
可以在例程之外调用(默认情况下) yes yes yes no
其中定义的变量在代码执行完成后可用 yes yes yes 取决于变量的性质

变量可用性和范围有更多详细信息。

注:在日常用法中,通常称呼“子例程subroutine”可以表示过程procedure、函数function或子例程subroutine文章来源地址https://www.toymoban.com/news/detail-695217.html

到了这里,关于第十八章 ObjectScript - 使用例程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hotspot源码解析-第十八章-元空间的创建与分配

    元空间就是从C堆中划出来的一片完整的区域,为了提升元数据的内存分配效率,又把元空间按若干个chunk内存块管理起来,其中chunk块又分为已使用和空间两种类型,并分别用VirtualSpaceList和ChunkManager来管理,chunk内存块之间以链表的形式关联起来,同时为了满足不同元数据占

    2024年02月01日
    浏览(35)
  • 第十八章_Redis缓存预热+缓存雪崩+缓存击穿+缓存穿透

    缓存预热 缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据。 可以通过@PostConstruct初始化白名单数据 缓存雪崩 发生  redis主机挂了,Redis 全盘崩溃

    2024年02月07日
    浏览(37)
  • Docker第十八章 : 构建您的第一个Java镜像

    第十八章 : 构建您的第一个Java镜像 本章知识点: 介绍构建java镜像的基本步骤,以及如何通过阿里云效和阿里云容器镜像服务,构建您的第一个Java镜像。 导读 Java入门指南教您如何使用Docker创建容器化的Spring Boot应用程序。在本模块中,您将学习如何: 使用Maven克隆并运行

    2024年02月22日
    浏览(43)
  • 斯坦福 Stats60:21 世纪的统计学:第十五章到第十八章

    原文: statsthinking21.github.io/statsthinking21-core-site/comparing-means.html 译者:飞龙 协议:CC BY-NC-SA 4.0 我们已经遇到了许多情况,我们想要询问样本均值的问题。在本章中,我们将更深入地探讨我们可以比较不同组均值的各种方法。 我们可能想要询问均值是否具有特定值的最简单的

    2024年01月16日
    浏览(36)
  • C++ Primer第五版_第十八章习题答案(11~20)

    练习18.11 为什么 what 函数不应该抛出异常? what中如果抛出异常,需要try catch捕获,再调用what,一直循环,直达内存耗尽。 练习18.12 将你为之前各章练习编写的程序放置在各自的命名空间中。也就是说,命名空间chapter15包含Query程序的代码,命名空间chapter10包含TextQuery的代码

    2024年02月06日
    浏览(33)
  • 【Rust】Rust学习 第十八章模式用来匹配值的结构

    模式是 Rust 中特殊的语法,它用来匹配类型中的结构,无论类型是简单还是复杂。结合使用模式和  match  表达式以及其他结构可以提供更多对程序控制流的支配权。模式由如下一些内容组合而成: 字面值 解构的数组、枚举、结构体或者元组 变量 通配符 占位符 这些部分描

    2024年02月11日
    浏览(30)
  • Go学习第十八章——Gin日志与第三方工具Logrus

    1.1 快速入门 在使用Gin框架的过程中,日志是一个重要的组成部分,它可以记录框架和应用程序的运行情况,帮助开发者排查问题和监控应用程序的性能。Gin框架提供了方便的方法来设置和使用日志。 默认日志 Gin框架默认使用的是标准库的log包,将日志输出到控制台。可以通

    2024年02月07日
    浏览(30)
  • 第十八章 SPFA算法以及负环问题(利用dijkstra推导出该算法,超级详细!!)

    我们回顾一下之前的dijkstra算法的证明过程。如果大家没看过之前的dijkstra算法的简易证明的话,作者在这里建议先去看一下。 传送门: 第十六章 Dijkstra算法的讲解以及证明(与众不同的通俗证明) 那么假设你已经看过这篇文章,我们发现,我们将每次松弛操作后的最小距离

    2024年02月02日
    浏览(42)
  • 【Linux命令行与Shell脚本编程】第十八章 文本处理与编辑器基础

    文本处理 学习sed编辑器 sed编辑器基础命令 gawk编辑器入门 sed编辑器基础 shell脚本可以将文本文件中各种数据的日常处理任务自动化Linux中的sed和gawk两款工具能够极大地简化数据处理任务。 想要即时处理文本文件中的文本,有一个可以自动格式化、插入、修改或删除文本元素

    2024年02月13日
    浏览(34)
  • 第十四章 ObjectScript - 系统函数

    本节重点介绍 ObjectScript 中一些最常用的系统函数。 这些函数的名称不区分大小写。 类库还提供了大量实用方法,可以像使用函数一样使用它们。 在给定一些输入的情况下,可以使用以下函数来选择一个值: $CASE 将给定的测试表达式与一组比较值进行比较,然后返回与匹配

    2024年02月10日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包