Show/Hide Toolbars

XSharp

注意此命令仅用于 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

参见

PARAMETERS