Difference between revisions of "With/fi"
m (Fixed page template name) |
|||
Line 1: | Line 1: | ||
{{with}} | {{with}} | ||
− | [[Reserved word/fi|Varattu sana]] <syntaxhighlight lang="pascal" | + | [[Reserved word/fi|Varattu sana]] <syntaxhighlight lang="pascal" inline>with</syntaxhighlight> |
sallii nimettyjen laajuuksien laajuuden hakureitityksen ohittamisen yhden [[statement/fi|lausekkeen]] ajaksi. | sallii nimettyjen laajuuksien laajuuden hakureitityksen ohittamisen yhden [[statement/fi|lausekkeen]] ajaksi. | ||
Line 11: | Line 11: | ||
# sulkevan lohkon ympäröivä lohko, jos sellainen on | # sulkevan lohkon ympäröivä lohko, jos sellainen on | ||
# … (ja niin edelleen) | # … (ja niin edelleen) | ||
− | # viimeksi tuotu moduuli, se tarkoittaa esimerkiksi [[Unit/fi|käännösyksikköä (unit), joka ilmestyy [[Uses/fi|<syntaxhighlight lang="pascal" | + | # viimeksi tuotu moduuli, se tarkoittaa esimerkiksi [[Unit/fi|käännösyksikköä (unit), joka ilmestyy [[Uses/fi|<syntaxhighlight lang="pascal" inline>uses</syntaxhighlight>-lausekkeen]] luettelon lopussa, jos sellainen on |
# viimeinen moduuli, joka on tuotu, jos sellainen on | # viimeinen moduuli, joka on tuotu, jos sellainen on | ||
# … (ja niin edelleen) | # … (ja niin edelleen) | ||
− | # ensimmäinen tuotu moduuli, se tarkoittaa esimerkiksi ensimmäistä käännösyksikköä, joka esiintyy <syntaxhighlight lang="pascal" | + | # ensimmäinen tuotu moduuli, se tarkoittaa esimerkiksi ensimmäistä käännösyksikköä, joka esiintyy <syntaxhighlight lang="pascal" inline>uses</syntaxhighlight>-lausekkeessa, jos sellainen on |
# [[System unit|system unit]] (ellei implisiittinen sisällyttäminen ole poistettu käytöstä) | # [[System unit|system unit]] (ellei implisiittinen sisällyttäminen ole poistettu käytöstä) | ||
== Ohittaminen == | == Ohittaminen == | ||
− | Haku voidaan ohittaa väliaikaisesti <syntaxhighlight lang="pascal" | + | Haku voidaan ohittaa väliaikaisesti <syntaxhighlight lang="pascal" inline>with</syntaxhighlight>-lauseella. |
Se näyttää tältä: | Se näyttää tältä: | ||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 26: | Line 26: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Tämä asettaa <syntaxhighlight lang="pascal" | + | Tämä asettaa <syntaxhighlight lang="pascal" inline>namedScope</syntaxhighlight> reitityksen huipulle. |
− | Tunnisteita etsitään ensin <syntaxhighlight lang="pascal" | + | Tunnisteita etsitään ensin <syntaxhighlight lang="pascal" inline>namedScope</syntaxhighlight> alta, ennen kuin muut laajuudet otetaan huomioon. |
− | <syntaxhighlight lang="pascal" | + | <syntaxhighlight lang="pascal" inline>namedScope</syntaxhighlight> voi olla |
− | * [[Unit/fi|Käännösyksikön (<syntaxhighlight lang="pascal" | + | * [[Unit/fi|Käännösyksikön (<syntaxhighlight lang="pascal" inline>unit</syntaxhighlight>)]] nimi |
− | joka on aiemmin tuotu [[Uses/fi|<syntaxhighlight lang="pascal" | + | joka on aiemmin tuotu [[Uses/fi|<syntaxhighlight lang="pascal" inline>uses</syntaxhighlight>lausekkeen kautta nykyiseen osioon. |
* strukturoidun muuttujan nimi, jolla olisi voinut nimetä sen jäseniä, ts | * strukturoidun muuttujan nimi, jolla olisi voinut nimetä sen jäseniä, ts | ||
− | ** [[Record/fi|<syntaxhighlight lang="pascal" | + | ** [[Record/fi|<syntaxhighlight lang="pascal" inline>record</syntaxhighlight>]] |
− | ** [[Object/fi|<syntaxhighlight lang="pascal" | + | ** [[Object/fi|<syntaxhighlight lang="pascal" inline>object</syntaxhighlight>]] tai |
− | ** [[Class/fi|<syntaxhighlight lang="pascal" | + | ** [[Class/fi|<syntaxhighlight lang="pascal" inline>class</syntaxhighlight>]]. |
− | Jos useiden <syntaxhighlight lang="pascal" | + | Jos useiden <syntaxhighlight lang="pascal" inline>with</syntaxhighlight>-lausekkeiden pitäisi olla sisäkkäisiä, on tarjolla lyhyempi merkintä: |
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
with snakeOil, sharpTools do | with snakeOil, sharpTools do | ||
Line 53: | Line 53: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Huomaa, että [[Begin/fi|<syntaxhighlight lang="pascal" | + | Huomaa, että [[Begin/fi|<syntaxhighlight lang="pascal" inline>begin</syntaxhighlight>]]-[[End/fi|<syntaxhighlight lang="pascal" inline>end</syntaxhighlight>]] eivät ole osa syntaksia, |
− | mutta <syntaxhighlight lang="pascal" | + | mutta <syntaxhighlight lang="pascal" inline>with</syntaxhighlight> … [[Do/fi|<syntaxhighlight lang="pascal" inline>do</syntaxhighlight>]] |
täytyy seurata tarkalleen vain yksi lause. Käytännössä tämä on kuitenkin aina yhdistelmälause. | täytyy seurata tarkalleen vain yksi lause. Käytännössä tämä on kuitenkin aina yhdistelmälause. | ||
== Katso myös == | == Katso myös == | ||
* [[Namespaces|namespaces]] | * [[Namespaces|namespaces]] |
Latest revision as of 17:22, 6 August 2022
│
Deutsch (de) │
English (en) │
suomi (fi) │
русский (ru) │
Varattu sana with
sallii nimettyjen laajuuksien laajuuden hakureitityksen ohittamisen yhden lausekkeen ajaksi.
Reititys
Tunnisteita etsitään seuraavassa järjestyksessä, kunnes saadaan osuma
- nykyinen lohko
- suljettu lohko, jos sellainen on
- sulkevan lohkon ympäröivä lohko, jos sellainen on
- … (ja niin edelleen)
- viimeksi tuotu moduuli, se tarkoittaa esimerkiksi [[Unit/fi|käännösyksikköä (unit), joka ilmestyy
uses
-lausekkeen luettelon lopussa, jos sellainen on - viimeinen moduuli, joka on tuotu, jos sellainen on
- … (ja niin edelleen)
- ensimmäinen tuotu moduuli, se tarkoittaa esimerkiksi ensimmäistä käännösyksikköä, joka esiintyy
uses
-lausekkeessa, jos sellainen on - system unit (ellei implisiittinen sisällyttäminen ole poistettu käytöstä)
Ohittaminen
Haku voidaan ohittaa väliaikaisesti with
-lauseella.
Se näyttää tältä:
with namedScope do
begin
…
end;
Tämä asettaa namedScope
reitityksen huipulle.
Tunnisteita etsitään ensin namedScope
alta, ennen kuin muut laajuudet otetaan huomioon.
namedScope
voi olla
joka on aiemmin tuotu [[Uses/fi|uses
lausekkeen kautta nykyiseen osioon.
Jos useiden with
-lausekkeiden pitäisi olla sisäkkäisiä, on tarjolla lyhyempi merkintä:
with snakeOil, sharpTools do
begin
…
end;
which is equivalent to:
with snakeOil do
begin
with sharpTools do
begin
…
end;
end;
Huomaa, että begin
-end
eivät ole osa syntaksia,
mutta with
… do
täytyy seurata tarkalleen vain yksi lause. Käytännössä tämä on kuitenkin aina yhdistelmälause.