# 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

- FIELD
- PRIVATE
- PUBLIC
- STATIC
- MEMVAR