Of course you can use
IfThen(SomeBooleanExpression, IfTrueReturnValue, IfFalseReturnValue)
where the return values are numeric (uses Math
) or string (uses StrUtils
). But notice that this will evaluate both arguments in all cases — there is no lazy evaluation, so it is not as efficient as the ?:
operator in C#, where only the right operand is evaluated.
So you cannot do
y := IfThen(x <> 0, 1/x, 0)
The best thing is to stick with an ordinary
if x <> 0 then y := 1/x else y := 0;