Добавлен модуль cfg.d
This commit is contained in:
commit
4461987947
|
@ -0,0 +1,4 @@
|
||||||
|
# Наработки D
|
||||||
|
|
||||||
|
**Содержит модули:**
|
||||||
|
- [cfg.d](cdf.d) - чтение конфигурационного файла в формате `Параметр = Значение`
|
|
@ -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;
|
||||||
|
}
|
Reference in New Issue