Difference between revisions of "Is"
From Free Pascal wiki
Jump to navigationJump to searchm (Fixed syntax highlighting) |
(remove “back to <some arbitrary page>” link, as there are multiple pages linking here) |
||
Line 1: | Line 1: | ||
{{Is}} | {{Is}} | ||
− | + | The [[Reserved word|reserved word]] <syntaxhighlight lang="delphi" inline>is</syntaxhighlight> appears as: | |
− | |||
− | |||
− | |||
− | The [[Reserved word|reserved word]] <syntaxhighlight lang="delphi" | ||
* an [[Operator|operator symbol]] in [[object-oriented programming]], or as a | * an [[Operator|operator symbol]] in [[object-oriented programming]], or as a | ||
− | * a modifier qualifying [[Procedural variable|routine variable]] (<syntaxhighlight lang="delphi" | + | * a modifier qualifying [[Procedural variable|routine variable]] (<syntaxhighlight lang="delphi" inline>is nested</syntaxhighlight>). |
− | |||
== Operator == | == Operator == | ||
− | The operator <syntaxhighlight lang="delphi" | + | The operator <syntaxhighlight lang="delphi" inline>is</syntaxhighlight> tests, whether an object (first operand) is an instance of a [[Class|class]] or its children. |
<syntaxhighlight lang="delphi">fruit is citrusFruit</syntaxhighlight>is equivalent to<syntaxhighlight lang="delphi">fruit.inheritsFrom(citrusFruit)</syntaxhighlight>. | <syntaxhighlight lang="delphi">fruit is citrusFruit</syntaxhighlight>is equivalent to<syntaxhighlight lang="delphi">fruit.inheritsFrom(citrusFruit)</syntaxhighlight>. | ||
− | The [[expression]] is [[false and true|<syntaxhighlight lang="pascal" | + | The [[expression]] is [[false and true|<syntaxhighlight lang="pascal" inline>true</syntaxhighlight>]] if and only if <syntaxhighlight lang="pascal" inline>fruit</syntaxhighlight> descends from <syntaxhighlight lang="pascal" inline>citrusFruit</syntaxhighlight>. |
== Modifier == | == Modifier == | ||
− | If <syntaxhighlight lang="pascal" | + | If <syntaxhighlight lang="pascal" inline>{$modeSwitch nestedProcVars+}</syntaxhighlight> or [[Mode iso|<syntaxhighlight lang="pascal" inline>{$mode ISO}</syntaxhighlight>]] routine variables declared with the modifier <syntaxhighlight lang="delphi" inline>is nested</syntaxhighlight> allows those to be assigned to nested routines. |
Otherwise only global routines' addresses can be assigned to routine variables. | Otherwise only global routines' addresses can be assigned to routine variables. |
Latest revision as of 09:07, 16 May 2020
│
Deutsch (de) │
English (en) │
suomi (fi) │
The reserved word is
appears as:
- an operator symbol in object-oriented programming, or as a
- a modifier qualifying routine variable (
is nested
).
Operator
The operator is
tests, whether an object (first operand) is an instance of a class or its children.
fruit is citrusFruit
is equivalent to
fruit.inheritsFrom(citrusFruit)
.
The expression is true
if and only if fruit
descends from citrusFruit
.
Modifier
If {$modeSwitch nestedProcVars+}
or {$mode ISO}
routine variables declared with the modifier is nested
allows those to be assigned to nested routines.
Otherwise only global routines' addresses can be assigned to routine variables.