Sign in Join
Wiki copytemporary

With/fi

Deutsch · English · Suomi · Русский

Varattu sana with sallii nimettyjen laajuuksien laajuuden hakureitityksen ohittamisen yhden lausekkeen ajaksi.

Reititys

Tunnisteita etsitään seuraavassa järjestyksessä, kunnes saadaan osuma

  1. nykyinen lohko
  2. suljettu lohko, jos sellainen on
  3. sulkevan lohkon ympäröivä lohko, jos sellainen on
  4. … (ja niin edelleen)
  5. viimeksi tuotu moduuli, se tarkoittaa esimerkiksi [[Unit/fi|käännösyksikköä (unit), joka ilmestyy uses-lausekkeen luettelon lopussa, jos sellainen on
  6. viimeinen moduuli, joka on tuotu, jos sellainen on
  7. … (ja niin edelleen)
  8. ensimmäinen tuotu moduuli, se tarkoittaa esimerkiksi ensimmäistä käännösyksikköä, joka esiintyy uses-lausekkeessa, jos sellainen on
  9. 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ä:

pascal
    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|useslausekkeen kautta nykyiseen osioon.

Jos useiden with-lausekkeiden pitäisi olla sisäkkäisiä, on tarjolla lyhyempi merkintä:

pascal
    with snakeOil, sharpTools do
    begin
        ???
    end;

which is equivalent to:

pascal
    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.

Katso myös


From the Free Pascal wiki, page "With/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.