[fpc-devel] if-then-else expression

Hairy Pixels genericptr at gmail.com
Mon Aug 25 16:27:53 CEST 2025


 On Aug 24, 2025 at 3:28:45 PM, Karoly Balogh via fpc-devel <
fpc-devel at lists.freepascal.org> wrote:

> The new syntax has strong Python vibes to me. This is where I saw/used
> this the most. Which is not necessarily a bad thing. My code is usually
> very oldschool and I tend to avoid most of the "modern" bells & whistles,
> as I have a firm belief they hinder long-term maintainability, or they're
> simply eye-sore (mainly that Delphi inline variable declaration comes to
> mind) but this is one of the "newschool" syntax things which I'd gladly
> use myself.
>

I think they added a IfThen generic which can be implicitly specialized now
so you can do things like:

  s := IfThen(p <> nil, 'valid', 'nil’);

vs

  s := If p <> nil then 'valid' else 'nil';

It’s almost easier to read. I’m not sure I’d like the have if-statements
confused with expressions when scanning code either. At least the C version
is more terse but that one can be hard to identify also. All in all I think
IfThen is actually pretty good.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20250825/bba2276e/attachment.htm>


More information about the fpc-devel mailing list