Deutsch English Français Italiano |
<20240908163432.00003f8f@yahoo.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Michael S <already5chosen@yahoo.com> Newsgroups: comp.lang.c Subject: Re: Top 10 most common hard skills listed on resumes... Date: Sun, 8 Sep 2024 16:34:32 +0300 Organization: A noiseless patient Spider Lines: 54 Message-ID: <20240908163432.00003f8f@yahoo.com> References: <vab101$3er$1@reader1.panix.com> <valrj7$367a8$2@dont-email.me> <87mskwy9t1.fsf@bsb.me.uk> <vanq4h$3iieb$1@dont-email.me> <875xrkxlgo.fsf@bsb.me.uk> <vapitn$3u1ub$1@dont-email.me> <87o75bwlp8.fsf@bsb.me.uk> <vaps06$3vg8l$1@dont-email.me> <871q27weeh.fsf@bsb.me.uk> <20240829083200.195@kylheku.com> <87v7zjuyd8.fsf@bsb.me.uk> <20240829084851.962@kylheku.com> <87mskvuxe9.fsf@bsb.me.uk> <vaq9tu$1te8$1@dont-email.me> <vbci8r$1c9e8$1@paganini.bofh.team> <vbcs65$eabn$1@dont-email.me> <vbekut$1kd24$1@paganini.bofh.team> <vbepcb$q6p2$1@dont-email.me> <vbj6ii$1q6mh$1@dont-email.me> <20240908115827.00007521@yahoo.com> <vbju6l$1sqao$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Sun, 08 Sep 2024 15:34:10 +0200 (CEST) Injection-Info: dont-email.me; posting-host="46daed28da5e223c25c4774ca01ab553"; logging-data="2041887"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191pNry7dLWHQU1syjS/KIUfdcguaoypiQ=" Cancel-Lock: sha1:sJ4qdNA2W0FfNGbXbcEY1eOUZqQ= X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32) Bytes: 3180 On Sun, 8 Sep 2024 11:27:33 +0100 Bart <bc@freeuk.com> wrote: > On 08/09/2024 09:58, Michael S wrote: > > On Sun, 8 Sep 2024 05:44:16 +0200 > > Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > > > >> On 06.09.2024 13:34, Bart wrote: > >>> > >>> In more complicated cases in languages, then some asymmetry does > >>> come up. For example, suppose C allowed this (my language allows > >>> the equivalent): > >>> > >>> (c ? a : b) = x; > >> > >> In Algol 68 you can write > >> > >> IF c THEN a ELSE b FI := x > >> > >> or, in a shorter form, as > >> > >> ( c | a | b ) := x > >> > >> if you prefer. > >> > > > > Are you sure? > > It seems to me that you got it backward. > > > > The point here is that you can write such a 2-way select on the LHS > of an assignment. C doesn't allow that unless you wrap it up as a > pointer expression: > > *(c ? &a : &b) = x; > > In language like C, the LHS of an assignment is one of four > categories: > > A = Y; // name > *X = Y; // pointer > X[i] = Y; // index > X.m = Y; // member select > > A is a simple variable; X represents a term of any complexity, and Y > is any expression. (In C, the middle two are really the same thing.) > > Some languages allow extra things on the LHS, but in C they can be > emulated by transforming the term to a pointer operation. In the same > it can emulate pass-by-reference (which objects which are not arrays!) Got it. Thank you.