如何使一個類在foreach語句中可用?如何在D中創建一個對象(類)?
該類包含一個關聯數組(例如string [string])。所以foreach語句使用這個數組作爲源。
原來這就是我想要的:
auto obj = new Obj();
foreach (key, value; obj)
{
...
}
我需要實現一個這樣的接口成才?
編輯:
解決辦法:
public int opApply(int delegate(ref string, ref Type) dg)
{
int result = 0;
foreach (ref key, ref value; data)
{
result = dg(key, value);
if (result != 0)
{
break;
}
}
return result;
}
同樣是公衆詮釋opApply(INT委託(REF類型)DG)來完成。
我不認爲基於範圍-的foreach支持開箱呢。而且「opApply」也可以在D2中使用。 – kennytm 2010-06-15 15:58:10
opApply是解決方案,thnx! – VDVLeon 2010-06-15 16:11:32