r20100909175702

Details

  • Filename
    LibLinq-1.0-r20100909175702.zip
  • Uploaded by
  • Uploaded
    Sep 9, 2010
  • Size
    42.00 KB
  • Downloads
    65
  • MD5
    8a1613348d9c3e3f1cf5fa3b88e29d3b

Supported WoW Retail Versions

  • 3.3.5

Changelog

ckknight:
    - Remove improper globals, making them upvalues instead
    - Add List.prototype:PickAndRemoveRandom() Set.prototype:PickAndRemoveRandom() and Dictionary.prototype:PickAndRemoveRandom()
    - 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