With as an expression instead of a statement
BCS
ao at pathlink.com
Sat Sep 1 10:48:26 PDT 2007
Reply to Guillaume B.,
> Hi,
>
> I've been playing with D for some time now and I thought of something.
> It might have been proposed before but I didn't find anything about
> it.
>
> My idea is to enhance the "with" statement so that it becomes more
> useful: "with" could be an expression instead of a statement. The
> value of the expression would be the value of the object passed to the
> with statement. This could be very useful to initialize complex
> objects, like in GUI libraries.
>
> Here is an example of what you can do now with "with":
>
> class AClass { ... }
>
> void foo(AClass c) { ... }
>
> AClass c;
> with (c = new AClass()) {
> method1 = 10;
> method2 = 100;
> // ...
> }
> foo(c);
>
> If "with" was an expression, you could write:
>
> auto c = with (new AClass()) {
> method1 = 10;
> method2 = 100;
> // ...
> }
> foo(c);
>
> Or, if you don't need "c":
>
> foo(with (new AClass()) {
> method1 = 10;
> method2 = 100;
> // ...
> });
> What do you think?
>
> Guillaume B.
>
vote += 0.25;
More information about the Digitalmars-d
mailing list