第十八章 ObjectScript - 使用例程-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
第十八章 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
。
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |