On Fri, 13 Mar 2009 04:19:11 +0300, Sam Hu <samhu.sa...@gmail.com> wrote:

I know a little that in C there is a # operator which under a macro can return any type's value in character format.Just wanna know whether there is an equivelent implementation in D1.Say,in C using a/m macro can easily output enum's character value other than integer.It would be grateful if anybody would like to paste a few lines of code to demostrate such implementation.

Regards,
Sam

// C version
#include <stdio.h>

#define Stringize(x) #x

int main()
{
        int foo = 42;
        const char* s = Stringize(foo);
        
        printf("%s", s);      
        return 0;
}

// D version
import std.stdio;

template Stringize(alias s)
{
   auto Stringize = s.stringof;
}

int main()
{
   auto foo = 42;
   string s = Stringize!(foo);
        
   writefln("%s", s);
   return 0;
}



Reply via email to