Difference between revisions of "Is"
From Free Pascal wiki
Jump to navigationJump to search (_two_ occurences of is) |
(remove “back to <some arbitrary page>” link, as there are multiple pages linking here) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Is}} | {{Is}} | ||
− | The [[Reserved word|reserved word]] <syntaxhighlight lang="delphi" | + | The [[Reserved word|reserved word]] <syntaxhighlight lang="delphi" inline>is</syntaxhighlight> appears as: |
− | |||
− | |||
− | == | + | * an [[Operator|operator symbol]] in [[object-oriented programming]], or as a |
− | The operator <syntaxhighlight lang="delphi" | + | * a modifier qualifying [[Procedural variable|routine variable]] (<syntaxhighlight lang="delphi" inline>is nested</syntaxhighlight>). |
+ | |||
+ | == Operator == | ||
+ | |||
+ | 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 == | ||
− | + | 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. | |
− | If <syntaxhighlight lang="pascal" | ||
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.