注意 | 此命令仅用于 FOXPRO 方言。 |
LPARAMETERS 语句与 PARAMETERS 语句相同。
不过,变量将创建为 LOCAL 变量,而不是动态内存变量,并遵守可选的 <Type> 子句。
创建局部变量,接收传递的值或引用。
LPARAMETERS <idParameterList>
LPARAMETERS <Parameter1> [ AS <Type> [ OF <ClassLibrary> ] ] [, <Parameter2> [ AS <Type> [ OF <ClassLibrary> ] ] ]
<idParameterList> | 一个或多个参数变量,用逗号分隔。这些变量用于接收调用例程时传递的参数。这些变量将是动态内存变量 |
<Type> & <ClassLibrary> | 编译器可以识别 FoxPro 方言中的 AS <Type> 和 AS <Type> of <Classlibrary> 子句。 |
<ClassLibrary> 会被忽略,但 <Type> 会被执行。 |
LPARAMETERS 语句执行时,参数列表中的所有变量都会创建为局部变量。
如果将参数指定为 PROCEDURE 或 FUNCTION 声明语句的一部分,也可以将参数声明为局部变量(请参阅示例)。以这种方式指定的参数称为形参。需要注意的是,在过程或函数定义中不能同时指定形参和 PARAMETERS 语句。
否则会导致编译器出错。
接收变量的数量不必与调用例程传递的参数数量一致。如果指定的参数多于参数,多余的参数将被忽略。如果指定的参数少于参数,多余的参数将以 NIL 值创建。如果跳过一个参数,相应的参数将被初始化为 NIL。
PCount() 函数返回参数列表中最后一个参数的位置。这与传递的参数数不同,因为它包括跳过的参数。
该函数接收通过 PARAMETERS 语句传递给私有参数的值:
FUNCTION MyFunc()
LPARAMETERS cOne, cTwo, cThree
? cOne, cTwo, cThree
下一个示例完全相同,但接收的是传入局部变量的值,这些局部变量是在 FUNCTION 中声明的:
FUNCTION MyFunc(cOne, cTwo, cThree)
? cOne, cTwo, cThree