Re: single loop copy in D
On Friday, 2 March 2018 at 10:08:57 UTC, Simen Kjærås wrote: This is of course only partly true. while ((*dst++ = *src++) != 0) {} works just great, and also better shows what's actually being tested for in the loop. -- Simen That's what I was after. Thanks!
Re: single loop copy in D
On Friday, 2 March 2018 at 10:01:34 UTC, Jonathan M Davis wrote: On Friday, March 02, 2018 09:44:20 psychoticRabbit via Digitalmars-d-learn wrote: trying to do this C code, in D, but getting error: "Error: assignment cannot be used as a condition, perhaps `==` was meant?" any help much appreciated: -- while ((*dst++ = *src++)) {} -- You can't use = in a while loop's condition like that in D, regardless of what you do with parens. You'll need to refactor the code so that the assignment is done in the loop's body. This is of course only partly true. while ((*dst++ = *src++) != 0) {} works just great, and also better shows what's actually being tested for in the loop. -- Simen
Re: single loop copy in D
On Friday, 2 March 2018 at 09:44:20 UTC, psychoticRabbit wrote: trying to do this C code, in D, but getting error: "Error: assignment cannot be used as a condition, perhaps `==` was meant?" any help much appreciated: -- while ((*dst++ = *src++)) {} -- You can't use this syntax inside a while/if/... to prevent mistakes due to similarity between assignment syntax (=) and comparison syntax (==) Andrea
Re: single loop copy in D
On Friday, March 02, 2018 09:44:20 psychoticRabbit via Digitalmars-d-learn wrote: > trying to do this C code, in D, but getting error: > "Error: assignment cannot be used as a condition, perhaps `==` > was meant?" > > any help much appreciated: > > -- > while ((*dst++ = *src++)) {} > -- You can't use = in a while loop's condition like that in D, regardless of what you do with parens. You'll need to refactor the code so that the assignment is done in the loop's body. - Jonathan M Davis
single loop copy in D
trying to do this C code, in D, but getting error: "Error: assignment cannot be used as a condition, perhaps `==` was meant?" any help much appreciated: -- while ((*dst++ = *src++)) {} --