sum.js 851 B

12345678910111213141516171819202122232425262728293031323334353637
  1. var multimeter = require('multimeter');
  2. var multi = multimeter(process);
  3. var charm = multi.charm;
  4. charm.on('^C', process.exit);
  5. charm.reset();
  6. var xs = [];
  7. for (var i = 0; i < 100; i++) xs.push(i);
  8. console.log('Calculating the sum of [0..100]:\n');
  9. charm.write(' ');
  10. multi.drop(function (bar) {
  11. bar.percent(0);
  12. charm.write('\n\nResult: ');
  13. charm.position(function (x, y) {
  14. var sum = 0;
  15. var iv = setInterval(function () {
  16. sum += xs.shift();
  17. bar.percent(100 - xs.length);
  18. charm
  19. .position(x, y)
  20. .erase('end')
  21. .write(sum.toString())
  22. ;
  23. if (xs.length === 0) {
  24. clearInterval(iv);
  25. multi.destroy();
  26. }
  27. }, 50);
  28. });
  29. });