2014-06-27 26 views
2

有没有像LINQ在D中选择的东西?范围投影:相当于LINQ在D中选择?

我想从容器中移除给定数组中对象成员中包含的所有元素。我认为这将是很好,如果我可以这样做:

myContainer.remove(myArray.select!(a => a.member)) ; 

回答

5

它被称为map

import std.algorithm; 

myContainer.remove(myArray.map!(a => a.member)); 
+0

非常感谢您的输入。但是我无法编译以下内容,这是一个单独的问题吗? 'import std.container,std.algorithm; void main(){struct S {string s; } auto myContainer = redBlackTree!string(“aaa”,“bbb”,“ccc”); auto myArray = [S(“aaa”),S(“c”)]; myRestainer.remove(myArray.map!(a => as));}' dmd's output: test2.d(6):Error:function std.container.RedBlackTree!string.RedBlackTree.remove(Range r)is不能使用参数类型调用(MapResult!(__ lambda2,S [])) – unagi