r20100909170409
Details
-
FilenameLibLinq-1.0-r20100909170409.zip
-
Uploaded by
-
UploadedSep 9, 2010
-
Size41.56 KB
-
Downloads68
-
MD523ab053a50b9eaab80754c0ee31dbe94
Supported WoW Retail Versions
- 3.3.5
Changelog
ckknight:
- Add Enumerable.prototype:PickRandom() and Enumerable.prototype:PickRandomOrDefault(default)
- Make the :GroupBy methods' key_selector and the like accept the index of the element in the sequence
- Add List.prototype:ShuffleInPlace()
- Fix some docs and properly update the minor version
- Add Set.FromSequenceOrItem(sequence_or_item)
- Add Dictionary.prototype:ToKeyValuePairs() which returns an Enumerable of KeyValuePairs, which are lightweight proxy objects that store two items.
- Make List.prototype:Sort() accept nil as a comparer
- Add List.prototype:Sort(comparer) and OrderedEnumerable.prototype:GetComparer()
- Add read-only capabilities to Set and Dictionary as well. Up the minor version to 2, forgot about that before.
- Add List.prototype:ConvertToReadOnly() and List.prototype:IsReadOnly() make :GroupBy use it when generating the Groupings, just for safety's sake.
- Add List.prototype:ReverseInPlace()
- Make Grouping more efficient by routing all methods called on it directly onto List, which has more efficient methods than the standard Enumerable for most things.
- Add :Iterate() to Enumerable, which creates a lua iterator that can be used in for loops. Can improperly leave garbage around if the for loop is not fully iterated through.
- Add :Clone() methods to List, Set, and Dictionary
- Make it so that if you wrap a table more than once, it'll use the same wrapper rather than making a new one.
- Add Dictionary.prototype:Merge(other) which merges the other dict onto the self dict
- Add Replace methods to List, so that items in the list can be replaced one or more at a time.
- Add dict:Keys() and dict:Values()
- Add contracts to List, Set, and Dictionary to assure what elements are going to be in those collections. e.g. If you want to force that a List has only positive integers, that's possible and will error if trying to put in a string or anything that doesn't follow the contract provided
- Add support for passing C#-like lambdas instead of full lua functions, e.g. "x => x*x" will transparently convert to function(x) return x*x end
- Remove old suo file
- Do not include LibStub in lib.xml since it is included in the TOC
- Fix .pkgmeta issue
- Initial commit of LibLinq-1.0, a collection management library similar to .NET's System.Linq