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

- `Operator = (Equal)`
- `Operator Let (Assignment)`
- `Swap`