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.

Personal tools