Equal
│
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
The symbol =
(pronounced “equal”) is used to
- compare two (comparable) values for equality,
- constant declarations (including
resourcestring
sections), and - type declarations, as well as
- specifying default values for formal parameters in method declarations.
Furthermore, if enumeration data types are defined with explicit indices, FPC’s Delphi compatibility modes require an equal sign instead of :=
when specifying the indices.
application
program equalDemo(input, output, stderr);
const
answer = 42;
resourcestring
prompt = 'What''s the answer?';
type
number = longint;
var
i: number;
begin
writeLn(prompt);
readLn(i);
if not (i = answer) then
begin
exitCode := 1;
end;
end.
Be aware of what you compare:
When you compare two references, i.e. class
or pointer
variables, without dereferencing them first, you usually compare two memory addresses, not the actual content at those addresses.
Operator overloading may alter this behavior, though.
For instance the content of ansistring
s can be compared without any special treatment, though internally (transparently) they are realized as pointers.
Note, you usually do not use the equal sign comparison in conjunction with floating-point numbers.
Instead one uses math.compareValue
.
comparitive remarks
Unlike other programming languages, the symbol is not used to assign a value, for that the character pair :=
is used.
An exception of this are “initialized variables”, where you specify an initial value inside the var
section alongside your variable declarations:
program initializedVariable(input, output, stderr);
var
i: longint;
response: string = 'Wrong!';
begin
writeLn('What''s the answer?');
readLn(i);
if i = 42 then
begin
response := 'Right!';
end;
writeLn(response);
end.
Also, a comparison always results in a boolean
value.
ASCII value
In ASCII, the character code decimal 61
(or hexadecimal 3D
) is defined to be =
(equals sign).
see also
- becomes-operator
:=
assigns values to a variable - not-equal-operator
<>
checks for inequality
single characters |
|
character pairs |
|