if (rc!=0); break; endif; t = t + 1 endwhile
9、函数及函数子程序
用户可以自己编制函数子程序,也可以使用描述语言的内部函数。
在一般情况下,函数作为描述语言的表达式运算对象被调用。描述语言函数子程序总是得到一个单一的字符串结果,但可以有一个或多个字符串自变量,它的调用格式为:
name(arg,arg,arg...)
注意:1)函数名遵循变量名的规则,自变量可以是表达式。
2)如果函数子程序没有自变量,你仍然需
要写上一对括号: name()
3)在其它文件中的函数子程序不能调用。(其它文件中的描述语言程序可以通过GrADS的run命令执行)
4)可以通过函数子程序的定义语句在描述语
言程序中构造自己的函数:
function name(variable, variable, ...) 要回到调用处,使用return语句: return 表达式
这里表达式可以省略,如果省略表达式,就返还一个空字符串(空字符串是‘’)。函数的结果是return语句中表达式的结果。
5)调用过程
当一个函数子程序被调用时,首先计算自变量,然后执行函数子程序,作为函数自变量的变量的值初始取为传输给自变量的值。如果传输给自变量的值的个数太少,则其余的变量初始没有值,如太多,则多余的被舍弃。你可以从函数子程序定义语句中改变自变量而不改变调用方式。变量的调用仅仅在函数子程序内部有效,但全域变量可以在整个程序中有效。
当一个描述语言程序文件被调用时(通过run命令),从这个文件的开头开始执行。一个函数子程序定义语句也可以放在文件的开头,如果这样,必须定义一个变量名,这个变量将被任何’run’命令选项初始赋值,如果没有’run’命令选项,这个变量将初始赋为空字符串。
10、赋值语句
赋值语句的格式为: 变量名=表达式
表达式进行运算后,将结果赋予所指定的变量。
11、人机对话语句
'say'语句的语法为: say 表达式
这样,表达式的结果就写在屏幕上: ‘pull’语句的语法为: pull 变量名
程序运行到pull语句时,执行暂停等待用户键盘输入,按回车后,输入的内容就赋值给所指定的变量。
14、在描述语言程序中执行GrADS命令 指令语句仅仅包含一个表达式: 表达式:
在描述语言程序中执行GrADS命令是首先运算
表达式,然后将结果字符串作为命令提交给GrADS。
注意:1)当语句被执行后,GrADS命令的结果将输入到描述变量’result’(这时,’result’的字符串是GrADS命令执行后显示在屏幕上的内容)。
2)描述变量’rc’中则是GrADS命令的返还码。’result’变量中,可能包含几行GrADS结果字符串,这可以利用’sublin’函数分离。
可以在描述语言环境中执行任何GrADS命令,包括run命令。由执行run命令而产生的结果字符串将通过’return’命令从“低层”的描述语言程序传递回“高一层”的程序中。你可以一层一层地调用多个描述语言程序,但要能控制不出现死循环而返还主调程序。
五、内部函数
目前描述语言中有几个内部函数: 1、substr (string, start, length)
这个函数可以从字符串’string’中从位置’start’开始截取长度为’length’的子字符串。如果字符串’string’太短,结果字符串就短于’length’

