What is the utility of .stringof with expressions?

cym13 via Digitalmars-d digitalmars-d at puremagic.com
Sat Dec 12 03:12:02 PST 2015


On Saturday, 12 December 2015 at 10:20:01 UTC, Shriramana Sharma 
wrote:
> D currently supports:
>
> writeln((1 + 2).stringof);
>
> to print:
>
> 1 + 2
>
> What is the real-world use case of this "feature"? I mean, 
> everyone knows what the code they write looks like, so why 
> would they want to have a language feature to get a string 
> representation of it that they can print out to the user? I 
> mean, if at all someone wants to print out 1 + 2, they can 
> always say "1 + 2" and be done with it, instead of going to the 
> convolution of .stringof...
>
> One thing I observe however is that:
>
>     writeln((1+ 2).stringof);
>     writeln((1 +2).stringof);
>     writeln((1  +  2).stringof);
>
> all print "1 + 2" (without the quotes) so it's not a simple 
> compiler dumps to string thing, but still I don't understand 
> what this can be useful for...

It could be useful combined with mixins to preprocess the code 
you write before compiling it.


More information about the Digitalmars-d mailing list