# Moses

Moses is a utility library which provides a set of functions acting as shortcuts for common programming tasks,
and support for functional programming. It aims to extend the built-in Lua table library, facilitate operations on
arrays, lists, collections, objects, through 85 weird, strange, bizarre, odd functions.
Moses was heavily inspired by Underscore.js.

## Sample

    local _ = require 'moses'
    -- let's have fun!

    print('Creating an array of integers')
    local array = _.range(0,12,3)
    _.each(array,print)

    print('Shuffles the array with a random seed')
    array = _.shuffle(array, os.time())
    _.each(array, print)

    print('Slicing values between 2 and 5 keys')
    array = _.slice(array,2,5)
    _.each(array,print)

    print('Count values by parity')
    local parityCount = _.countBy(array,function(i,v)
      return v%2==0 and 'even' or 'odd'
    end)
    _.each(parityCount,print)

A possible output would be:

    -- Creating an array of integers-- 1	0-- 2	3-- 3	6-- 4	9-- 5	12

    -- Shuffles the array with a random seed
    -- 1	3
    -- 2	0
    -- 3	6
    -- 4	12
    -- 5	9

    -- Slicing values between 2 and 5 keys
    -- 1	0
    -- 2	6
    -- 3	12
    -- 4	9

    -- Count values by parity
    -- odd	1
    -- even	3

Grab it on Github.

- Source
- Forum thread
- HTML Documentation
- Complete set of samples
- Specification tests

Category:

- Libraries