【发布时间】:2015-05-05 09:54:43
【问题描述】:
我刚刚写了这个函数:
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(Haskellfilter) 但不支持Select(Haskellmap) 真的很奇怪 -
附带说明 - OmniThreadLibrary 有一个类似结构的并行版本,它将 TArray 映射到 TArray (thedelphigeek.com/2015/01/parallel-map.html)。
标签: delphi collections delphi-xe2 spring4d