ruby-enumerator.js
ruby-enumerator.js is object can use Ruby(v1.9.3) all Enumerator and Enumerable methods in javascript.
synopsis
Code of Ruby Enumerator like this ...
e = Enumerator.new([1,3,4,6])e.chunk {|i| i.even?}.each {|res, i| p [res,i] #=> [false, [1, 3]] #=> [true, [4, 6]] }
ruby-enumerator.js can write as Ruby like this code.
var e = 1346;e;
installation
node
npm install ruby-enumerator
var Enumerator = Enumerator;
html
<script src="https://raw.github.com/ksss/ruby-enumerator.js/master/enumerator.js"></script>
doc
see https://github.com/ksss/ruby-enumerator.js/tree/master/doc
and more
http://doc.ruby-lang.org/ja/1.9.3/class/Enumerator.html
http://doc.ruby-lang.org/ja/1.9.3/class/Enumerable.html
example
array is basic use way.
var e = e;console //=> 1console //=> 2console //=> 3
object can use in the same way as array.
var e = ;e;console //=> ['a',1]console //=> ['b',2]console //=> ['c',3]
function can use infinity list
//=> [1,1,2,3,5,8,13,21,34,55]
async each
var e = new Enumerator(function(y){
setTimeout(function(){
y(2);
setTimeout(function(){
y(4);
}, 0);
y(3);
}, 0);
y(1);
});
e.each(function(i){
console.log(i); //=> 1,2,3,4
});
and can extend other object.
Enumerator;;
LICENSE
see https://github.com/ksss/ruby-enumerator.js/blob/master/enumerator.js