How to "stringnify"?

evilrat evilrat666 at gmail.com
Sun Oct 10 08:54:55 UTC 2021


On Sunday, 10 October 2021 at 08:28:30 UTC, rempas wrote:
> Is there a way to "stringnify" in Dlang? In C we would do 
> something like the following:
>
> `#define STRINGIFY(x) #x`
>
> What's the equivalent in D?

That's probably depends on what you are trying to achieve.

If you want to write code-like string that looks like a code you 
can use token strings

https://dlang.org/spec/lex.html#token_strings

```d
string code = q{
   float sqr(float x) { return x * x; }
};
```

For other symbols there is .stringof property (beware, it's 
behavior is not part of the spec)

https://dlang.org/spec/property.html#stringof

```d
class MyClass()
{
   static this() {
     registerSmth(MyClass.stringof); // pass "MyClass" string
   }
}
```

And there is stuff for metaprogramming such like this in 
std.traits

https://dlang.org/phobos/std_traits.html#ParameterIdentifierTuple



More information about the Digitalmars-d-learn mailing list