What would you put instead of this C# code, in D?

```C#
          // Arrange
const string templateString = "My {pet} has {number} {ailment}.";
            var pairs = new
            {
                pet = "dog",
                number = 5,
                ailment = "fleas",
            };

            // Act
var result = TemplateStringInterpolator.ReplaceTokens(templateString, pairs);

            // Assert
            result.Should().Be("My dog has 5 fleas.");
```

I've made a function for strings:

```D
string replaceTokens(in string tmpString, in string[string] aa) {
    import std.array : replace;

    string result = tmpString;

    foreach(key, value; aa) {
        string addBits(in string root) {
            return "{" ~ root ~ "}";
        }
        result = result.replace(addBits(key), value);
    }

    return result;
}
```

Reply via email to