Operator =[>] (Assign)
Assigns a value to a variable
Syntax:
Usage:
lhs = rhs
or
lhs => rhs
or, in the QB dialect,
Parameters:
lhs
The variable to assign to.
T1
Any numeric, boolean, 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 conversion of a boolean to an integer, false or true boolean value becomes 0 or -1 integer value). 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 this purpose and for solving some cases of ambiguity of the parser (see BYREF (function results)), the alternative symbol '=>' can be used for assignments in place of '=' (same as already for the initializers).
Assignment between arrays is not supported presently.
Avoid confusion with Operator = (Equal), which also uses the '=' symbol.
For this purpose and for solving some cases of ambiguity of the parser (see BYREF (function results)), the alternative symbol '=>' can be used for assignments in place of '=' (same as already for the initializers).
Note: the '=>' symbol has been chosen against '<=' (already the operator 'Less Than Or Equal') and ':=' (':' used as statement separator).
This operator can be overloaded for user-defined types as a member Operator using the appropriate syntax.Examples:
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
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
#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:
Back to Assignment Operators
Back to Operators