SkillAgentSearch skills...

Underscore4d

Underscore for Delphi

Install / Use

/learn @GDKsoftware/Underscore4d
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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<T>, but are still not available for builtin Delphi types like TList<T>.

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
View on GitHub
GitHub Stars6
CategoryDevelopment
Updated1y ago
Forks1

Languages

Pascal

Security Score

75/100

Audited on Mar 29, 2025

No findings