digitalmars.D.learn - D version of C# code
// 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;
}
```
Apr 16 2017
On 04/16/2017 11:20 AM, Joel wrote:
// 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.");
```
void main()
{
// Arrange
const string templateString = "My {pet} has {number} {ailment}.";
auto pairs = [
"pet": "dog",
"number": "5",
"ailment": "fleas",
];
// Act
import std.regex: regex, replaceAll;
auto result = templateString
.replaceAll!(m => pairs[m[1]])(regex(`\{([^}]+)\}`));
// Assert
assert(result == "My dog has 5 fleas.");
}
Apr 16 2017
On Sunday, 16 April 2017 at 09:46:13 UTC, ag0aep6g wrote:On 04/16/2017 11:20 AM, Joel wrote:Thanks, ag0aep6g.[...]void main() { // Arrange const string templateString = "My {pet} has {number} {ailment}."; auto pairs = [ "pet": "dog", "number": "5", "ailment": "fleas", ]; // Act import std.regex: regex, replaceAll; auto result = templateString .replaceAll!(m => pairs[m[1]])(regex(`\{([^}]+)\}`)); // Assert assert(result == "My dog has 5 fleas."); }
Apr 16 2017








Joel <joelcnz gmail.com>