项目作者: GDKsoftware

项目描述 :
Underscore for Delphi
高级语言: Pascal
项目地址: git://github.com/GDKsoftware/Underscore4d.git
创建时间: 2019-05-26T18:06:47Z
项目社区:https://github.com/GDKsoftware/Underscore4d

开源协议:Mozilla Public License 2.0

下载


Underscore4d

This project makes an effort to add functional algorithms that are available in most modern languages (JS, C#, C++) and native in functional languages, but are generally not available in Delphi yet.
Spring4d adds a lot of this functionality for IEnumerable, but are still not available for builtin Delphi types like TList.

Underscore4d adds functions in the style of UnderscoreJS, using the _ namespace and passing both list/enumerable and the (anonymous) function to perform.

(Be aware that there’s a performance penalty when using this library, as the supplied anonymous functions will not be inlined into the algorithm.)

UnderscoreJS Spring4d Delphi Underscore4d
each ForEach x
map T x x Map
map T,S OfType? x Map
reduce T Aggregate T x Reduce
reduce T,S x x Reduce
reduceRight x x
find First x Find*
find noexcept FirstOrDefault x FindOrDefault
filter Where x Filter
where
findWhere
reject
every All x Every
some Any
contains Contains Contains x

pluck
max T | | |Max
min T | | |Min

sortBy
groupBy
indexBy
countBy
shuffle
sample
toArray
size
partition
first |[0] |First
initial
last | |Last
rest
compact
flatten
without
union |Union |x |Union
intersection|IntersectWith |x |Intersection
difference | |x |Difference
uniq | | |Uniq
zip | |x |Zip
unzip
object
chunk
indexOf
lastIndexOf
sortedIndex
findIndex
findLastIndex
range

*) will throw exception on failure

Extra functions

  • Join