Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Mad-Libs/D/mad-libs.d
Normal file
20
Task/Mad-Libs/D/mad-libs.d
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import std.stdio, std.regex, std.algorithm, std.string, std.array;
|
||||
|
||||
void main() {
|
||||
writeln("Enter a story template, terminated by an empty line:");
|
||||
string story;
|
||||
while (true) {
|
||||
auto line = stdin.readln().strip();
|
||||
if (line.empty) break;
|
||||
story ~= line ~ "\n";
|
||||
}
|
||||
|
||||
auto re = regex("<.+?>", "g");
|
||||
auto fields = story.match(re).map!q{a.hit}().array().sort().uniq();
|
||||
foreach (field; fields) {
|
||||
writef("Enter a value for '%s': ", field[1 .. $ - 1]);
|
||||
story = story.replace(field, stdin.readln().strip());
|
||||
}
|
||||
|
||||
writeln("\nThe story becomes:\n", story);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue