Slash/fi

From Lazarus wiki

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

/

Yksittäinen kauttaviiva, jota ympäröivät ei-kauttaviivaiset merkit, katsotaan jakolaskuksi. Kaksi peräkkäistä viivaa aloittaa rivikommentin.


Jakolasku

Kauttaviivaa / käytetään Pascal-ohjelmassa merkitsemään jakolaskua. Tämän jakolaskun tulokset ovat aina desimaalilukuja. Jos halutaan suorittaa kokonaislukujakolaskun niin on käytettävä div-operaattoria.

A := 3 / 4;

Tämän toimenpiteen jälkeen muuttujalla A on arvo 0.75 (olettaen, että A on ilmoitettu desimaaliluvun tyypiksi, muuten kääntäjä ilmoittaa yhteensopimattoman tyyppivirheen).


Tähän liittyviä poikkeuksia

Kauttaviivan oikealla puolella oleva arvo ei saa olla nolla tai tapahtuu nollajako-virhe. Kääntäjän tiloissa, joissa poikkeuksia on saatavilla (esim. ObjFPC ja Delphi-tila), tämä ehto voidaan ottaa kiinni tryexcept lohkolla. Muussa tapauksessa esiintyy ajonaikainen virhe (RTE 200).

program divZeroDemo(input, output, stderr);

// ObjFPC mode for exceptions
{$mode objfpc}

uses
	// make exception EDivByZero known
	sysutils;

const
	dividend = 1.1;

resourcestring
	enterDivisorPrompt = 'Enter divisor:';
	divisionOperationExceptionless = 'Division did not cause an exception.';
	zeroDivisionFailure = 'Error: Attempted to divide by zero.';

var
	divisor, quotient: single;

begin
	writeLn(enterDivisorPrompt);
	readLn(divisor);
	
	try
		quotient := dividend / divisor;
		writeLn(divisionOperationExceptionless);
	except on EDivByZero do
		writeLn(zeroDivisionFailure);
	end;
end.
Note-icon.png

Huomaa: Poikkeuksen käsittely on "kallista". Testillä jossa testataan oliko käyttäjän syöte nolla(0) olisi ollut edellä mainitussa esimerkissä hienostuneempi tapa.

Kommentti

Kaksi peräkkäistä kauttaviivaa esittävät kommenttia rivin loppuun asti. Tätä kutsutaan myös nimellä "Delphi-tyylinen kommentti".

1345 while (buf^ in [' ', #9, #10]) do // kill separators

example source

Katso myös


navigation bar: topic: Pascal symbols
single characters

+ (plus)  •  - (minus)  •  * (asterisk)  •  / (slash)
= (equal)  •  > (greater than)  •  < (less than)
. (period)  •  : (colon)  •  ; (semi colon)
^ (hat)  •  @ (at)
$ (dollar sign)  •  & (ampersand)  •  # (hash)
' (single quote)

character pairs

<> (not equal)  •  := (becomes)  •  >< (symmetric difference)  •  // (double slash)