Hairy Pixels via fpc-devel <fpc-devel@lists.freepascal.org> schrieb am Di.,
26. Aug. 2025, 09:53:

> On Aug 24, 2025 at 3:28:45 PM, Karoly Balogh via fpc-devel <
> fpc-devel@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.
>

As said IfThen evaluates both sides no matter the result of the expression.
The if-expression will not. Thus is a very important difference.
Also there *will* be the if-then-expression, the question is only when the
merge request is finalized enough (I currently can't check, so I can't
comment on any progress there).

Regards,
Sven

>
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to