IfThen

Riddle
IfThen
Moduł: StrUtils
function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string;

Metoda ta jest Pascalowym odpowiednikiem operatora trójargumentowego z C/C++/Javy i innych języków. Jeżeli pierwszy parametr jest prawdziwy (tj.równy true), wtedy funkcja zwraca drugi parametr, trzeci zaś, jeżeli warunek jest fałszywy (równy false).

program Foo;

uses
  StrUtils;

{$APPTYPE CONSOLE}

begin
  Writeln(IfThen((2 + 2 = 4), 'prawda', 'fałsz'));  //Zobaczymy "prawda"
  Writeln(IfThen((2 + 2 = 3), 'prawda', 'fałsz'));  //Zobaczymy "fałsz"
end.

Tylko w porównaniu do C++, tutaj nie ma tzw.lazy evaluation, tj.jeżeli wykonamy takie coś:

IfThen(warunek, funkcja1(), funkcja2())

Najpierw zostaną wykonane obie funkcje, a dopiero potem sprawdzony warunek i zwrócona odpowiednia wartość.

0 komentarzy