在 D 中使用 byPair
Using byPair in D
我正在尝试完成 http://dlang.org/library/std/array/by_pair.html
中给出的示例
但我一直收到错误消息Error: no property 'byPair' for type 'int[string]'
有没有我需要导入但我不需要的东西?
import std.stdio;
import std.string;
import std.array;
import std.file;
import std.conv;
import std.regex;
import std.typecons : tuple, Tuple;
import std.algorithm : sort;
void main(string[] args)
{
auto aa = ["a": 1, "b": 2, "c": 3];
Tuple!(string, int)[] pairs;
// Iteration over key/value pairs.
foreach (pair; aa.byPair)
{
pairs ~= pair;
}
// Iteration order is implementation-dependent, so we should sort it to get
// a fixed order.
sort(pairs);
assert(pairs == [
tuple("a", 1),
tuple("b", 2),
tuple("c", 3)
]);
}
确保你有最新的 D 版本。
byPair
添加于 2.067.0:
byPair
不是关联数组的固有 属性。
您需要导入 std.array : byPair
或只导入 std.array
.
我猜,因为示例显示在 std.array
的文档中,所以假设用户将导入 std.array
。
我正在尝试完成 http://dlang.org/library/std/array/by_pair.html
中给出的示例但我一直收到错误消息Error: no property 'byPair' for type 'int[string]'
有没有我需要导入但我不需要的东西?
import std.stdio;
import std.string;
import std.array;
import std.file;
import std.conv;
import std.regex;
import std.typecons : tuple, Tuple;
import std.algorithm : sort;
void main(string[] args)
{
auto aa = ["a": 1, "b": 2, "c": 3];
Tuple!(string, int)[] pairs;
// Iteration over key/value pairs.
foreach (pair; aa.byPair)
{
pairs ~= pair;
}
// Iteration order is implementation-dependent, so we should sort it to get
// a fixed order.
sort(pairs);
assert(pairs == [
tuple("a", 1),
tuple("b", 2),
tuple("c", 3)
]);
}
确保你有最新的 D 版本。
byPair
添加于 2.067.0:
byPair
不是关联数组的固有 属性。
您需要导入 std.array : byPair
或只导入 std.array
.
我猜,因为示例显示在 std.array
的文档中,所以假设用户将导入 std.array
。