Operator = (Assign)
 
Assigns a value to a variable

Syntax

Declare Operator Let ( ByRef lhs As T1, ByRef rhs As T2 )

Usage

lhs = rhs

or, in the QB dialect,

[ Let ] lhs = rhs

Parameters

lhs
The variable to assign to.
T1
Any numeric, string or pointer type.
rhs
The value to assign to lhs.
T2
Any type convertible to T2.

Description

This operator assigns the value of its right-hand side operand (rhs) to its left-hand side operand (lhs). The right-hand side operand must be implicitly convertible to the left-hand side type (T1). For example, you cannot assign a numeric value to a string type; to do that, first convert the numeric value to a string using Str or WStr.
Assignment between arrays is not supported presently.

Avoid confusion with Operator = (Equal), which also uses the '=' symbol (for that, from fbc version 0.90, '=>' can be used for assignments, in place of '=', same as for initializers).

This operator can be overloaded for user-defined types.

Example

Dim i As Integer
i = 420    ' <- this is the assignment operator

If  i = 69 Then   '<-this is the equivalence operator 
  Print "ERROR: i should equal 420"
  End -1
End If

Print "All is good."
End 0


' compile with -lang fblite or qb

#lang "fblite"

Dim i As Integer
Let i = 300 ' <-alternate syntax


Dialect Differences

  • In the -lang qb dialect, this operator cannot be overloaded.
  • In the -lang qb dialect, an assignment expression can be preceded by the Let keyword.

Differences from QB

  • None

See also