Dynamic Template-Expansion of (Token) Strings

Jacob Carlborg doob at me.com
Tue Oct 27 10:46:42 UTC 2020


On Tuesday, 27 October 2020 at 08:33:08 UTC, Per Nordlöw wrote:
> I'm looking for elegant ways of expressing expansion of 
> parameterized strings written to a file at run-time. My primary 
> use case is run-time generation of D code. In the lazy case, 
> something like
>
>     import std.file : write;
>     import std.algorithm : substitute;
>     const s = q{int $X = $Y;}; // templated source
>     foreach (part; s.substitute("$X", "x", "$Y", "42"))
>         write(somePath, part);
>
> is my current best bet.

You might want to have a look at Mustache [1]. Here's a Dub 
package [2].

[1] http://mustache.github.io/mustache.5.html
[2] https://code.dlang.org/packages/mustache-d

--
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list