Moses (日本語)



Moses はユーティリティ・ライブラリであり一般的なプログラミング・タスクに対するショートカットの動作をする関数一式および、関数型プログラミングへの対応化を提供します。 Lua 内蔵のテーブル・ライブラリの拡張を目的としており、配列、 リスト、コレクション、オブジェクトに対する操作の便利化、不思議な 85 通りの、異様で、奇怪で、半端な関数を提供します。


MosesUnderscore.js の影響を非常に強く受けました。


用例

local _ = require 'moses'
-- さあ楽しみましょう!

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)

次のような出力になるでしょう:

-- 整数配列の作成
-- 1	0
-- 2	3
-- 3	6
-- 4	9
-- 5	12

-- 乱数の種により配列をかき混ぜます
-- 1	3
-- 2	0
-- 3	6
-- 4	12
-- 5	9

-- 2 から 5 まで間にあるキーの値を切り出します
-- 1	0
-- 2	6
-- 3	12
-- 4	9

-- 奇遇性により値を数えます
-- odd	1
-- even	3


GitHub から取得できます。

そのほかの言語