LOCAL

Initializes a local memory variable or array

Syntax

LOCAL <xVar> [:= <xInit> ]

Arguments

<xVar> Name of a memory variable or array.

<xInit> Value to be assinged to a variable or array

Returns

None

Description

This command created a LOCAL memory variable or array.The name of either is specified in <xVar>.If more then one variable is being initialized with the LOCAL command,separate each entry with a comma. If a variable or an array is to be assingned a start-up value,that expression may be specified in <xInit> and folling.Is Strong type compile mode is used, the Compiler will check if the value recived matchs the type specified in <xType>.

LOCAL varibles are symbols generated at run time and are resolved at compile time.The visibility and life span of a LOCAL variable or array is limited to the function or procedure in which it is defined.

No macro expansions are allowed in the LOCAL declaration statement.

No Harbour command other then FUNCTION,PROCEDURE,PUBLIC,PRIVATE, PARAMETERS,MEMVAR,STATIC and FIELD,may precede the LOCAL command.

LOCAL array reference may not be initialized(i.e.,assigned values) on the same command line as the LOCAL command statement.This can be done later in the program.

LOCAL variables and arrays are not affected by the RELEASE command.
Examples
      Function Main2()
      Local n , lVar

      n := IIF( lVar, 'A', 3 )
      n := 2
      n := 'a'
      n := seconds() + 2
      n := int( seconds() + 2 )
      Return( NIL )
Tests
      See Tests/testwarn.prg for more examples
Status

Ready

Compliance

This command works exactaly as CA-Clipper.

Platforms

All

Files

None

See Also