,例如,如果你有一个结构的排序数组:
struct Item
{
int val;
string property;
}
您如何与assumeSorted
一起使用这些内容,以便随后可以搜索Item.val
?
我可以在网上找到的所有范围示例都使用整数数组。
答案 0 :(得分:3)
您需要定义比较运算符:http://dlang.org/operatoroverloading.html#compare
struct Item
{
int val;
string property;
int opCmp(ref const Item other) const
{
return val - other.val;
}
}
定义比较运算符后,所有与排序相关的函数应该与整数一样工作。