d键值对创建自定义串
void main()
{
import std.conv : to;
import std.algorithm : sort;
import std.stdio : writeln;
auto foo = ["VXE":8, "BZP":5, "JLC":2];
string[] orderedKeyPairSet;
foreach (ref kv; foo.byKeyValue)
{
orderedKeyPairSet ~= kv.key.to!string ~ ":" ~ kv.value.to!string;
}
orderedKeyPairSet.sort;
foreach(ref str; orderedKeyPairSet)
writeln(str);
}
/*
输出:
BZP:5
JLC:2
VXE:8
*/
map
可返回元组,而std.array.assocArray
可从这些元组
创建关联数组
:
import std;
void main() {
auto aa = iota(10)
.map!(n => tuple(n, n * n))
.assocArray;
writeln("不必排序:\n", aa);
}
可按排序
顺序访问元素:
auto keys = aa.keys.sort;//复制键,再排序.
writeln("排序:");
foreach (k; keys) {
writeln(k, ": ", aa[k]);
}