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ść.