function random( low, high ){
low = low || 0.5;
hight = high || 10;
var median = (low + high) / 2;
var seed = Math.random();
var result = seed * median * 2;
return ( result < low )? low : ( result > high )? high : result;
}
function iterate( func, iterations ){
iterations = iterations || 1;
console.log( "Iterations : ", iterations );
if( typeof func === "function" ){
for( var i = 0; i < iterations; i++ ){
func();
}
}
}
for( var i = 0; i < 10; i++ ){
var iterant_one = iterant( () => random( 100, 500 ) );
iterate( function(){ console.log( iterant_one.next() ) }, 100 );
console.log( "Count", iterant_one.iterations());
console.log("Total:", iterant_one.total());
console.log("Average:",iterant_one.average());
}
function iterant( generator ){
generator = generator || function(){return 1;};
var count = 0;
var sum = 0;
return {
next : function(){
var current = generator();
sum += current;
count++;
return current;
},
iterations : function(){ return count },
total : function(){ return sum; },
average : function(){ return sum / count; }
};
}