Ich schrieb diese Funktion:Gibt es eine Kartenfunktion?
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;
Dies zu Haskells entspricht in etwa map
(oder fmap
, liftM
, etc).
Also ich frage mich, ob so etwas in Spring4D bereits existiert?
Es ist wirklich merkwürdig, dass es 'Where' (Haskell' filter') unterstützt, aber nicht 'Select' (Haskell' map') –
Nur eine Randnotiz - OmniThreadLibrary hat eine parallele Version eines ähnlichen Konstrukts, das TArray auf TArray abbildet (http://www.theldeghigeek.com/2015/01/parallel-map.html). – gabr