braceless with statements
Ogi
ogion.art at gmail.com
Fri Nov 12 15:03:33 UTC 2021
On Friday, 12 November 2021 at 10:55:21 UTC, Stefan Koch wrote:
> Good Morning Everyone,
>
> I recently found myself wanting to introduce a bunch of member
> variables into the scope of the function I was currently
> working on.
> Of course D has a nice way to do that; The `with` statement.
>
> so
> ```D
> struct S { int x; }
> int fn()
> {
> S s;
> with(s)
> {
> x = 12;
> return x;
> }
> }
> ```
>
> this code works but it forces another level of indentation
> which makes it a little ugly.
>
> So I did a small patch to my local version of dmd.
> And now this works:
> ```D
> struct S { int x; }
> int fn()
> {
> S s;
> with(s):
> x = 12;
> return x;
> }
> ```
>
> It is a really simple patch and I think it's worthwhile to have
> this in the main language.
I’m missing the point. Why using a struct to add some variables?
At first I thought that you want to shadow already existing
variables but this is prohibited in D and thank God for that.
More information about the Digitalmars-d
mailing list