Reading the configuration file
https://code.dlang.org/packages/readconf
673310fb45
- Parameter name as a single character - Generating an exception when accessing a non-existent section |
||
---|---|---|
examples | ||
img | ||
source | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
dub.json | ||
dub.selections.json | ||
dub.settings.json |
README.md
Singleton for reading the configuration file required for your program.
What can do
- Reading multiple configuration files
- Separation of parameters by sections
- Access to parameters and sections using keys and indexes
- Commenting on lines
You will get more detailed information on the wiki.
Quick start
The settings.conf
file (see the tests):
Read settings.conf
file:
import readconf;
import std.stdio;
void main()
{
rc.read("./tests/settings.conf");
foreach (key, param; rc.cf.sn.keys())
writefln("%s => %s", key, param);
writeln(rc.cf.sn.key("value1"));
foreach (key, param; rc.cf.sn("part2").keys())
writefln("%s => %s", key, param);
writeln(rc[]["part2"]["value1"]);
}
Result:
value1 => text without quotes
value2 => Yes!
value3 => value in apostrophes
value4 => 1000
value5 => 0.000
value6 =>
value7 => //path
value8 => "Hey!"
text without quotes
value1 => this value will be in the new section
value3 => good value!
this value will be in the new section
Unittests
The unittests provide examples of configuration files and the settings.conf
file located in the tests:
Running bin/readconf-test-unittest
✓ test __unittest_L111_C1
✓ test __unittest_L26_C1
✓ test __unittest_L52_C1
✓ test __unittest_L4_C1
Summary: 4 passed, 0 failed in 7 ms
DUB
Add a dependency on "readconf": "~>0.4.0"