A couple of extensions to `with` that would be worthwhile
Adam D Ruppe
destructionator at gmail.com
Wed Oct 13 13:05:06 UTC 2021
On Wednesday, 13 October 2021 at 11:13:32 UTC, Andrei
Alexandrescu wrote:
> 1. Accept named `with`:
>
> with (auto xpath = extendPath(name)) {
> // the only name injected here is xpath
> }
I've wanted this before, but not the "only name injected" thing,
since that defeats the whole point of `with`.
I'd want it to be a standard with statement, just with a name
given for the overall thing so you can refer to it as a whole in
that scope too.
> with (auto xpath = extendPath(name).str) {
> // the only name injected here is xpath
> // assume str has type wstring, then xpath
> // also has type string
> }
What's the difference between this and `if(auto xpath = ...)` ?
It wouldn't be null anyway.
Or between it and
---
{
auto xpath = ....;
// stuff
}
---
?
That's why I think the with needs to keep its with behavior even
if you give it a name.
More information about the Digitalmars-d
mailing list