Добавлен модуль cfg.d

This commit is contained in:
Alexander 2022-05-05 22:32:47 +03:00
commit 4461987947
2 changed files with 28 additions and 0 deletions

4
README.md Normal file
View File

@ -0,0 +1,4 @@
# Наработки D
**Содержит модули:**
- [cfg.d](cdf.d) - чтение конфигурационного файла в формате `Параметр = Значение`

24
cfg.d Normal file
View File

@ -0,0 +1,24 @@
module azh.cfg;
import std.stdio;
import std.regex;
string[string] readConfigFile(string path)
{
auto file = File(path, "r");
string[string] properties;
auto p_property = regex(r"^(\w+) *= *(.+)$", "m");
while (!file.eof())
{
string line = file.readln();
auto m = matchFirst(line, p_property);
if (m)
{
auto property = m[1];
auto value = m[2];
properties[property] = value;
}
}
file.close();
return properties;
}