Interpolated strings?

H. S. Teoh hsteoh at qfbox.info
Mon Dec 16 20:50:20 UTC 2024


On Mon, Dec 16, 2024 at 08:33:27PM +0000, Andy Valencia via Digitalmars-d-learn wrote:
> I have a string full of JavaScript to serve up, and a couple variable
> values need to be interpolated into it.  I read that dlang now has
> interpolated strings under i"...", so yay!  A bit of example code to
> show what I tried:
> 
> string s;
> int i
> auto x = i"Message $(s) has value $(i)"
> writeln(x)
> 
> and it worked as expected.  But:
> 
> string x = i"Message $(s) has value $(i)"
> 
> instead does NOT work.  And there's no toString, nor does to!string do
> the trick.  The core.interpolation file has no unittest, so I can't
> crib from anything there.  How _does_ one get the string
> post-interpolation?
[...]

i"..." returns a tuple of its constituents; to get a string, use .text.
Like this:

	import std;
	string x = i"Message $(s) has value $(i)".text; // should work


T

-- 
What did the kidnapper have for lunch? Seize-her salad.


More information about the Digitalmars-d-learn mailing list