Bringing Smalltalk and Ruby collections methods to Objective-C since 2011
Objective-C Ruby
Failed to load latest commit information.
Collections Mac.xcodeproj Upgrade projects to Xcode 7 Oct 12, 2015
Collections Mobile.xcodeproj Upgrade projects to Xcode 7 Oct 12, 2015
.gitignore Upgrade project to Xcode 4 Oct 17, 2011
Collections.podspec Bump deployment target to 10.6 Mar 27, 2015
LICENSE Update email address Jun 30, 2013 Update email address Jun 30, 2013


libCollections is an Objective-C library that brings methods from Smalltalk's collection protocol and Ruby's Enumerable mixin to Objective-C projects. libCollections adds these methods as categories to the Foundation framework's collections classes. (Not all of Ruby's Enumerable methods are implemented, but some of them aren't really relevant or useful and probably won't be.)

What does it run on?

libCollections uses C blocks extensively. I've only tested it on 10.6, but it should work on 10.5 as well. Currently it compiles as a dynamic library on OS X, and as a static library for iOS.

Can I use it now?

Maybe. The planned functionality is implemented for NSArray, NSSet, and NSDictionary, but it hasn't been extensively tested (to be honest, the unit tests are kind of pathetic), nor has the code been written as "tightly" or efficiently as it could be. It hasn't been tested in an iOS app at all. This is an early in-development version at the moment, so use at your own risk.

Who created this?

libCollections is written by Michael Dippery. I had been meaning to create such a library for a while (I like the collect: and inject:into: methods from Smalltalk and Ruby, and miss them in Objective-C), but I was motivated to finally sit down and write the code by a post on Stack Overflow.