parameters( ) 函数示例

例 1 调用一个过程,并在一个等待窗口中显示传递的参数数目。

例 2 用一个过程显示 4 个数值的平均值。

* 例 1
do testpar with 1,2,3

procedure testpar
parameters gn1,gn2,gn3
gcmessage = 'parameters( ) ='+alltrim(str(parameters( )))
wait window (gcmessage)
return

* 例 2
set talk off
gnval1 = 10
gnval2 = 20
gnval3 = 30
gnval4 = 15
gnmin = getavg(gnval1, gnval2, gnval3, gnval4)
? 'average value is '
?? gnmin

下面这个用户自定义函数允许最多传递 9 个参数。它用 parameters( ) 函数确定传递多少参数并返回平均值。

function getavg
parameters gnpara1,gnpara2,gnpara3,gnpara4,gnpara5, ;

gnpara6,gnpara7,gnpara8,gnpara9
if parameters( ) = 0
return 0
endif
gnresult = 0
for gncount = 1 to parameters( )
gccompare = 'gnpara' +(str(gncount,1))
gnresult = gnresult + eval(gccompare)
endfor
gnresult = gnresult / (gncount - 1)
return gnresult