5
我只是写了这个功能:有没有地图功能?
class function TGenerics.Map<TFrom, TTo>(const AEnumerable: IEnumerable<TFrom>;
const AConverter: TConstFunc<TFrom, TTo>): IList<TTo>;
var
L: IList<TTo>;
begin
L := TCollections.CreateList<TTo>;
AEnumerable.ForEach(
procedure(const AItem: TFrom)
begin
L.Add(AConverter(AItem));
end
);
Result := L;
end;
这大致相当于Haskells map
(或fmap
,liftM
,等等)。
所以我想知道这样的事情在Spring4D中是否已经存在?
支持'Where(Haskell'filter')而不是'Select'(Haskell'map')的确很奇怪 –
只是一个侧面说明 - OmniThreadLibrary有一个类似的构造的并行版本,它将TArray映射到TArray http://www.thedelphigeek.com/2015/01/parallel-map.html)。 – gabr