我想从关联数组中获取任何键/值对并将其删除。
在python中它是:

key, value = assoc.popitem() 

在 D 我做:
auto key = assoc.byKey.front; 
auto value = assoc[key]; 
assoc.remove(key); 

有没有更好的方法来做到这一点?是否可以在 foreach 之外使用 byKeyValue()?

DMD 2.067.1

请您参考如下方法:

Is it possible to use byKeyValue() outside foreach?



当然:
import std.stdio; 
 
void main() 
{ 
    int[string] assoc = ["apples" : 2, "bananas" : 4]; 
 
    while (!assoc.byKeyValue.empty) 
    { 
        auto pair = assoc.byKeyValue.front; 
        assoc.remove(pair.key); 
        writeln(pair.key, ": ", pair.value); 
    } 
} 

Is there better way to do this?



我认为 D 没有与 popitem 等效的库函数.


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!