网站代码语法,苏州二建建筑集团有限公司,wordpress后台图片无法显示,山西做网站费用文章目录 第十九章 ObjectScript - 执行例程执行例程New 命令 第十九章 ObjectScript - 执行例程
执行例程
执行例程时#xff0c;使用DO命令#xff0c;如下所示: do ^routinename要执行一个过程、函数或子程序(不访问其返回值)#xff0c;可以使用以下命令: do label^ro… 文章目录 第十九章 ObjectScript - 执行例程执行例程New 命令 第十九章 ObjectScript - 执行例程
执行例程
执行例程时使用DO命令如下所示: do ^routinename要执行一个过程、函数或子程序(不访问其返回值)可以使用以下命令: do label^routinename或 do label^routinename(arguments)要执行过程、函数或子例程并引用其返回值可以使用$$label^routinename或$$label^routinename(参数)形式的表达式。例如: set myvariable$$label^routinename(arguments)在所有情况下如果标签位于同一个例程中则可以省略插入符号和例程名称。例如: do labeldo label(arguments)set myvariable$$label(arguments)在所有情况下传递的参数可以是文字值、表达式或变量名。
New 命令
IRIS提供了另一种机制使能够控制例程中变量的作用域:NEW命令。此命令的参数是一个或多个变量名以逗号分隔的列表表示。变量必须是公共变量不能是Global。
该命令为变量建立一个新的有限上下文(可能已经存在也可能不存在)。例如考虑下面的例程: ; demonew ; routine to demo NEWNEW var2set var1abcset var2defquit运行完这个例程后变量var1可用变量var2不可用如下例所示:
TESTNAMESPACEdo ^demonewTESTNAMESPACEwrite var1
abc
TESTNAMESPACEwrite var2write var2
^
UNDEFINED *var2如果该变量在使用NEW之前已经存在那么在NEW作用域结束后该变量仍然存在并保留其先前的值。例如考虑下面的Terminal会话它使用前面定义的例程:
TESTNAMESPACEset var2hello worldTESTNAMESPACEdo ^demonewTESTNAMESPACEwrite var2
hello world