123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- discard """
- cmd: "nim c --gc:arc $file"
- output: '''
- {"Package": {"name": "hello"}, "Author": {"name": "name", "qq": "123456789", "email": "email"}}
- hello
- name
- 123456789
- email
- hello
- name2
- 987654321
- liame
- '''
- """
- import parsecfg, streams, tables
- const cfg = """[Package]
- name=hello
- [Author]
- name=name
- qq=123456789
- email="email""""
- proc main() =
- let stream = newStringStream(cfg)
- let dict = loadConfig(stream)
- var pname = dict.getSectionValue("Package","name")
- var name = dict.getSectionValue("Author","name")
- var qq = dict.getSectionValue("Author","qq")
- var email = dict.getSectionValue("Author","email")
- echo dict[]
- echo pname & "\n" & name & "\n" & qq & "\n" & email
- stream.close()
- main()
- proc getDict(): OrderedTableRef[string, OrderedTableRef[string, string]] =
- result = newOrderedTable[string, OrderedTableRef[string, string]]()
- result["Package"] = newOrderedTable[string, string]()
- result["Package"]["name"] = "hello"
- result["Author"] = newOrderedTable[string, string]()
- result["Author"]["name"] = "name2"
- result["Author"]["qq"] = "987654321"
- result["Author"]["email"] = "liame"
- proc main2() =
- let dict = getDict()
- var pname = dict.getSectionValue("Package","name")
- var name = dict.getSectionValue("Author","name")
- var qq = dict.getSectionValue("Author","qq")
- var email = dict.getSectionValue("Author","email")
- echo pname & "\n" & name & "\n" & qq & "\n" & email
- main2()
|