Visual FoxPro 在向用户自定义函数 (UDF) 传递参数时,指定为按值传递还是通过引用传递。
语法
SET UDFPARMS TO VALUE | REFERENCE
参数
TO VALUE
向一个用户自定义函数按值传递一个变量。当按值传递变量时,在用户自定义函数中可以更改变量的值,但调用程序中变量的原值不变。
TO REFERENCE
向一个用户自定义函数通过引用传递一个变量。当通过引用传递变量时,如果在用户自定义函数中更改了变量的值,则调用程序中变量的原值也随之更改。
说明
默认情况下,变量以值传递方式传递给用户自定义函数(用 DO ... WITH 传递给过程的变量为通过引用传递)。
不管 SET UDFPARMS 如何设置,可以强制设定以值传递方式或引用传递方式向一个 UDF 传递参数:如果用括号括起一个变量,则设定按值传递;在一个变量前加 @ 符号,可以设定以引用传递方式传递。
提示
可以把整个数组传递给一个过程或用户自定义函数。如果使用 SET UDFPARMS TO REFERENCE 命令,或者在数组名前加
@,就可以传递整个数组;如果使用 SET UDFPARMS TO VALUE 命令,或者用括号把数组名括起来,可以按值传递数组的第一个元素。数组元素总是按值传递。