如何从键值文件创建字符串的关联数组(string [strings])?

Sul*_*man 0 arrays d multidimensional-array

这里是我想得到的关联数组的例子:

string [string] rlist = ["dima":"first", "masha":"second", "roma":"third"];

我读过的文本文件结构非常简单:

peter = fourth ivan = fifth david = sixth

string [string] strarr;    
string txt = readText("test.txt");
foreach (t;txt.splitLines())
{
    // ??
}
Run Code Online (Sandbox Code Playgroud)

有人可以建议吗?

cym*_*m13 5

它可能是我,但我发现很难用for循环和临时变量来推理,我宁愿做类似的事情:

import std.conv;
import std.stdio;
import std.array;
import std.algorithm;

void main() {
    string[string] dic = File("test")
                              .byLine
                              .map!(l => l.to!string.findSplit(" = "))
                              .map!(l => tuple( l[0], l[2] ))
                              .assocArray;
}
Run Code Online (Sandbox Code Playgroud)

byLine:逐行读取,比读取整个内容然后拆分更好.

第一张地图:按照rcorre的说明将每一行分成三部分

第二个地图:从分割线构建对

assocArray:从这些对构建关联数组.