With/fi

From Lazarus wiki
Jump to navigationJump to search

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

  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ä:

	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.

  • strukturoidun muuttujan nimi, jolla olisi voinut nimetä sen jäseniä, ts

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 withdo täytyy seurata tarkalleen vain yksi lause. Käytännössä tämä on kuitenkin aina yhdistelmälause.

Katso myös