<div dir="auto"><div><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Hairy Pixels via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>> schrieb am Di., 26. Aug. 2025, 09:53:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="gmail_quote">
    <div dir="ltr" class="gmail_attr">On Aug 24, 2025 at 3:28:45 PM, Karoly Balogh via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-devel@lists.freepascal.org</a>> wrote:<br></div>
    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" type="cite">
        <div>The new syntax has strong Python vibes to me. This is where I saw/used<br>this the most. Which is not necessarily a bad thing. My code is usually<br>very oldschool and I tend to avoid most of the "modern" bells & whistles,<br>as I have a firm belief they hinder long-term maintainability, or they're<br>simply eye-sore (mainly that Delphi inline variable declaration comes to<br>mind) but this is one of the "newschool" syntax things which I'd gladly<br>use myself.</div>
    </blockquote>
</div>
<br>
<div dir="ltr">I think they added a IfThen generic which can be implicitly specialized now so you can do things like:</div><div dir="ltr"><br></div><div dir="ltr">  s := IfThen(p <> nil, 'valid', 'nil’);</div><div dir="ltr"> </div><div dir="ltr">vs </div><div dir="ltr"><br></div><div dir="ltr">  s := If p <> nil then 'valid' else 'nil';<br></div><div dir="ltr"><br></div><div dir="ltr">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.</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">As said IfThen evaluates both sides no matter the result of the expression. The if-expression will not. Thus is a very important difference. </div><div dir="auto">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). </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>