Just because it's a slow Thursday on this forum

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sun Feb 7 15:26:05 PST 2016


On 02/04/2016 09:46 PM, Tofu Ninja wrote:
> On Thursday, 4 February 2016 at 15:33:41 UTC, Andrei Alexandrescu wrote:
>> https://github.com/D-Programming-Language/phobos/pull/3971 -- Andrei
>
> People one github were asking for a dump function so they could do
>       int a = 5;
>       dump!("a"); // prints "a = 5"
>
>
> Here's a working version if anyone wants it but you have to use it like
>       mixin dump!("a");
>
>
> //------------------------------------------------
>
> mixin template dump(Names ... )
> {
>      auto _unused_dump = {
>          import std.stdio : writeln, write;
>          foreach(i,name; Names)
>          {
>              write(name, " = ", mixin(name), (i<Names.length-1)?", ":
> "\n");
>          }
>          return false;
>      }();
> }
>
> unittest{
>      int x = 5;
>      int y = 3;
>      int z = 15;
>
>      mixin dump!("x", "y"); // x = 5, y = 3
>      mixin dump!("z");      // z = 15
>      mixin dump!("x+y");    // x+y = 8
>      mixin dump!("x+y < z");// x+y < z = true
> }

This is useful and we should include it. How would you improve the code 
to allow dumping to a different File than stdout (e.g. most often 
stderr)? -- Andrei



More information about the Digitalmars-d mailing list