Liste des Groupes | Revenir à col misc |
On Thu, 03 Oct 2024 16:34:15 -0700, Peter Flass wrote:One less keystroke in C.
Louis Krupp <lkrupp@invalid.pssw.com.invalid> wrote:The C version, of course, was merely a syntactic change from the BCPLOn 10/1/2024 3:48 PM, Lawrence D'Oliveiro wrote:I like the Unisys version. At the cost of a couple of characters it’sOn Tue, 1 Oct 2024 16:14:37 +0100, The Natural Philosopher wrote:>
>And knowing that p=(x>y?3:2);I would have done it without the parentheses. There’s too much
parenthesis clutter around as it is.
Add some spaces, and you've got something downright readable:
>
p = x > y ? 3 : 2;
>
Maybe add parentheses around the comparison, especially if it's long or
complex, which this isn't:
>
p = (x > y) ? 3 : 2;
>
It's idiomatic C. It's everywhere. Perl and Python have something
similar. So does Unisys ALGOL, not that anyone cares:
>
P := IF X > Y THEN 3 ELSE 2;
>
If you want to see gratuitous cleverness for the sake of cleverness,
there's this:
>
p = (x > y) + 2;
>
Please don't do that. Would you write:
>
P := REAL((X > Y) AND TRUE) + 2;
>
if you were doing this in ALGOL?
>
I didn't think so.
>
Louis
>
>
>
>
>
readable. The C version is not straightforward for those of us for whom
C is a second or third language.
version (on which, via B, it was based):
p := (x > y) -> 3, 2
(parentheses optional)
Les messages affichés proviennent d'usenet.