&
│
English (en) │
suomi (fi) │
français (fr) │
português (pt) │
русский (ru) │
In ASCII the character code decimal 38
(or $
26
) is defined to be &
(pronounced “ampersand”).
Pascal
octal base
In Pascal the &
denotes an octal base number.
program messageNo(input, output, stderr);
uses
baseUnix;
begin
// withdraw group write access to current terminal
// equivalent to invoking: mesg n
fpChmod('/dev/stdin', &0600);
end.
In an octal base only the characters 0
through and including 7
are allowed.
An optional sign is specified in front of the &
.
As a passing remark, in a production program the number in the above example is better written as
fpChmod('/dev/stdin', S_IRUSR or S_IWUSR);
since it is more meaningful than having a raw number. Pascal is a high-level language. Use this advantage. Write what you mean, not what in fact the computer does.
{$mode Delphi}
and {$mode TP}
.identifier escape
FreePascal retroactively declared some new reserved words.
In order of being capable of compiling old code with an up-to-date compiler version, which might fail due to those new reserved words, FPC declared the &
as an escape character.
Thus, without refactoring the code but escaping, i.e. prepending an &
to the identifier, the compiler accepts the actual reserved word as a valid identifier. New code though shall come up with different identifier names, without utilizing this feature.
Lazarus
In Lazarus the &
is used to
- indicate shortcut keys in
TMenuItem
single characters |
|
character pairs |
|