diff --git a/.gitignore b/.gitignore index fd09e73..4d117a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .dub/ bin/ .vscode/ +autocreation-dub.sh diff --git a/src/example_4/.gitignore b/src/example_4/.gitignore new file mode 100644 index 0000000..8c746a9 --- /dev/null +++ b/src/example_4/.gitignore @@ -0,0 +1,15 @@ +.dub +docs.json +__dummy.html +docs/ +/example_4 +example_4.so +example_4.dylib +example_4.dll +example_4.a +example_4.lib +example_4-test-* +*.exe +*.o +*.obj +*.lst diff --git a/src/example_4/dub.json b/src/example_4/dub.json new file mode 100644 index 0000000..4d80df5 --- /dev/null +++ b/src/example_4/dub.json @@ -0,0 +1,9 @@ +{ + "authors": [ + "alexander" + ], + "description": "Массивы и ассоциативные массивы. Работа со словарем.", + "license": "proprietary", + "name": "example_4", + "targetPath": "bin" +} diff --git a/src/example_4/source/app.d b/src/example_4/source/app.d new file mode 100644 index 0000000..9f8e426 --- /dev/null +++ b/src/example_4/source/app.d @@ -0,0 +1,16 @@ +import std.stdio, std.string; + +void main() +{ + size_t [string] dictionary; + foreach (line; stdin.byLine) + { + foreach (word; strip(line).split) + { + if (word in dictionary) continue; + auto newID = dictionary.length; + dictionary[word.idup] = newID; + writeln(newID, '\t', word); + } + } +}