Добавлен модуль 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